尝试保存屏幕截图时出现Selenium WebDriverException错误(Python 3.6)

尝试保存屏幕截图时出现Selenium WebDriverException错误(Python 3.6),python,python-3.x,selenium,web-scraping,selenium-chromedriver,Python,Python 3.x,Selenium,Web Scraping,Selenium Chromedriver,我正在尝试使用Python 3.6(在Windows 10上)的Selenium保存一个网站的屏幕截图。当我使用get\u screenshot\u as\u file()或get\u screenshot\u as\u png()函数时,总会出现以下异常: WebDriverException:未知错误:无法获取自动化扩展 来自未知错误:找不到页面:chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background

我正在尝试使用Python 3.6(在Windows 10上)的
Selenium
保存一个网站的屏幕截图。当我使用
get\u screenshot\u as\u file()
get\u screenshot\u as\u png()
函数时,总会出现以下异常:

WebDriverException:未知错误:无法获取自动化扩展 来自未知错误:找不到页面:chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html

(会话信息:chrome=60.0.3112.90)

(驱动程序信息:chromedriver=2.25.426923(0390b88869384d6eb0d5d09729679f934aab9eed),平台=Windows NT 6.1.7601 SP1 x8664)

例如:

driver = webdriver.Chrome()
ref = 'http://google.com'
driver.get(ref)
driver.get_screenshot_as_png()

是否有解决方法或其他方法将整个页面保存为图像?

我建议您使用
save\u screenshot()
方法,而不是
get\u screenshot\u as\u png()
方法
save_screenshot()
方法使用一个参数作为屏幕截图的名称以及逻辑/绝对路径。下面的代码块导航到
URL
,并将屏幕截图保存为
temp.png
,保存在名为
Screenshots
的子目录中,该子目录是在我的项目范围内创建的

from selenium import webdriver
driver = webdriver.Chrome(r'C:\Utility\BrowserDrivers\chromedriver.exe')
ref = 'http://google.com'
driver.get(ref)
driver.save_screenshot('./Screenshots/temp.png')
driver.quit()
请注意,指定确实存在其他一些方法(),如下所示:

  • 将屏幕截图获取为\u png()
    :将当前窗口的屏幕截图获取为二进制数据
  • 将屏幕截图作为文件(文件名)
    :获取当前窗口的屏幕截图
  • 将屏幕截图获取为\u base64()
    :将当前窗口的屏幕截图获取为base64编码字符串

  • 参考文献
    你可以在

    中找到详细的讨论,我不知道它在chrome上是如何工作的,但在PhantomJS中,你可以这样保存它:driver.save_screenshot('name.png')谢谢,但是save_screenshot提供了相同的错误可能url是错误的?@Nenad不,url是正确的。谢谢,但是我在使用
    save_screenshot()时会遇到同样的错误
    method.@splinter您确定可以打开Chrome浏览器吗?尝试将ChromeDriver升级到2.30版,Selenium升级到3.5.0版。这非常重要!
    之后必须始终有
    /