chrome chrome驱动程序支持PageLoadStrategy ='渴望'对于Selenium?

时间:2017-12-18 23:23:34

标签: selenium web-scraping webdriver selenium-chromedriver

我试图用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)

5 个答案:

答案 0 :(得分:3)

Chrome不支持PageLoadStrategy.EAGER。但是你可以试试PageLoadStrategy.NONE。有时你需要同步驱动程序等待一些元素,但可能性较小。

答案 1 :(得分:2)

ChromeDriver 77.0 (支持Chrome 77版本)现在支持 eager 作为 pageLoadStrategy

  

已解决的问题1902:支持优先页面加载策略[Pri-2]

See release notes

答案 2 :(得分:1)

对于那些正在等待“渴望”功能的用户。您可以在source code中检查“ CheckSupport”功能。

似乎目前仍不支持。

答案 3 :(得分:1)

答案 4 :(得分:0)

从v66(source)开始,Chrome似乎已支持这种急切策略。