在非常大的窗口上,save_screenshot出现Selenium超时异常



我正在尝试获取一个大型映射的屏幕截图,在执行save_screenshot函数时偶尔会遇到超时异常。虽然我观察到,当我试图拍摄的屏幕截图特别大(例如10000 x 7200(时,会发生异常,但很难确定到底是什么原因导致了这种情况。

这不是页面加载超时,因为我仍然可以打开url并与元素交互。当我截屏(即driver.save_screenshot(filename))(时,发现了异常。

这是我收到的错误消息:

timeout: Timed out receiving message from renderer: 8.743
(Session info: headless chrome=80.0.3987.163)

到目前为止我尝试了什么:

  • 检查我的chromedriverchrome浏览器硒客户端(python(是否都是最新的(来源(:我使用的是Chromium 80.0.3987.163、chromedriver 80.0.3987.106和selenium 3.141.0
  • 设置以下选项(源1、2、3(:
options.add_argument('--ignore-certificate-errors')
options.add_argument('--incognito')
options.add_argument('--no-sandbox')
options.add_argument('--enable-automation')
options.add_argument('--disable-gpu')
options.add_argument('--disable-infobars')
options.add_argument('--disable-browser-side-navigation')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-features=VizDisplayCompositor')
options.add_argument('--dns-prefetch-disable')
options.add_argument('--headless')

任何解决这个问题的建议都是非常受欢迎的!

找到了这个问题的具体答案(我也有同样的问题!(

https://stackoverflow.com/a/56364166/15567914

基本上将此添加到选项中:

options.add_argument("--force-device-scale-factor=1")

相关内容

  • 没有找到相关文章

最新更新