我试图用Selenium /无头镀铬刮掉一些东西。在某些页面中,驱动程序将不会移动到下一步,直到加载整页(即使存在相关元素)。
我尝试设置pageLoadStrategy功能,如下所示:
caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "--headless" ]})
caps['pageLoadStrategy']='eager'
self.driver||=Selenium::WebDriver.for :chrome, :desired_capabilities => caps
我收到以下错误:
Selenium::WebDriver::Error::UnknownError: unknown error: cannot parse capability: pageLoadStrategy
from unknown error: page load strategy unsupported
有没有办法让Chrome工作?
根据这篇文章,支持pageLoadStrategy,但是我无法获得“渴望”。工作的选择。
Page load strategy for Chrome driver
如果没有,是否有更多尝试和真实的方法来做到这一点。我在使用Chrome时遇到了很多麻烦(它也不支持unexpectedAlertBehaviour)
答案 0 :(得分:3)
Chrome不支持PageLoadStrategy.EAGER。但是你可以试试PageLoadStrategy.NONE。有时你需要同步驱动程序等待一些元素,但可能性较小。
答案 1 :(得分:2)
ChromeDriver 77.0 (支持Chrome 77版本)现在支持 eager
作为 pageLoadStrategy 。
已解决的问题1902:支持优先页面加载策略[Pri-2]
答案 2 :(得分:1)
对于那些正在等待“渴望”功能的用户。您可以在source code中检查“ CheckSupport”功能。
似乎目前仍不支持。
答案 3 :(得分:1)
chrome尚不支持EAGER的相应页面加载策略。
答案 4 :(得分:0)
从v66(source)开始,Chrome似乎已支持这种急切策略。