1
A
回答
2
Selenium已经通过超时设置的方法实现了对document.readyState
的轮询。 RSelenium
有setTimeout
方法。增加page load
的超时应导致Selenium允许更多时间完成操作。
问题发生在网页未完成加载时。有些网页不断加载,自动延迟。在这种情况下,您可以检查DOM中是否存在元素。
见
How I can check whether a page is loaded completely or not in web driver?
和
Selenium WebDriver : Wait for complex page with JavaScript(JS) to load
作进一步讨论。有了RSelenium
,你当然可以运行JavaScript例如
remDr$executeScript("return document.readyState == 'complete';")
对于现代网页的检测时,页面加载被视为已完成可具体问题和解决方案的情况下的问题。
相关问题
- 1. WebBrowser控件文档完成iframe和Javascript完成后
- 2. 使用Rselenium在本地文件夹中下载word文档
- 3. phpdocumentor 2没有完成文档
- 4. 自动完成与PyCharm中的文档
- 5. WPF WebBrowser文档已完成的事件
- 6. 力自动完成对全HTML文档
- 7. 宏完成时删除文档
- 8. Windows服务WebBrowser文档完成错误
- 9. WebBrowser文档完成事件C#
- 10. 使用WebBrowser导航URLs文档完成
- 11. 用RSelenium下载Excel文件
- 12. 选择文本框与RSelenium
- 13. RSelenium webscrape
- 14. c#WebBrowser-如何等待JavaScript完成加载完成后运行的文档?
- 15. elementFromPoint()完整文档替代
- 16. automapper不完整的文档
- 17. RSelenium ZipException错误
- 18. 使用RSelenium
- 19. RSelenium不连接
- 20. RSelenium和Javascript
- 21. RSelenium的问题
- 22. 以使用RSelenium
- 23. 填表不Rselenium
- 24. Rselenium Jsonlite刮
- 25. 错误在RSelenium
- 26. 生成Protobuf文档?
- 27. Word文档生成
- 28. JavaScript文档生成
- 29. Tastypie文档生成
- 30. 生成Javascript文档
谢谢。其实有一些阿贾克斯电话,我无法预测他们需要多长时间。如果我使用这个'remDr $ executeScript(“return document.readyState =='complete';”)'会等代码完成,否则我会遇到异常问题? – Elen
如果AJAX调用暴露数据,您可以检查是否存在此数据。有一个execute方法的异步版本。它将一直等到它的回调方法被执行。您可以在适当情况下将JavaScript与您的情况一起使用,以等待通话完成。您需要将异步脚本上的超时设置为适当的值。 – jdharrison
我试过使用'setTimeout(type =“page load”,milliseconds = 10000)'并且我已经加载了rselenium库,但它提到'错误:找不到函数“setTimeout”' – Elen