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



我正在尝试使用 Python 3.6Selenium(在 Windows 10 上(保存网站的屏幕截图。当我使用get_screenshot_as_file()get_screenshot_as_png()函数时,我总是收到以下异常:

Web驱动程序异常: 未知错误: 无法获取自动化扩展 来自未知错误:找不到页面:Chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html

(会话信息:chrome=60.0.3112.90(

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

例如:

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

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

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

from selenium import webdriver
driver = webdriver.Chrome(r'C:UtilityBrowserDriverschromedriver.exe')
ref = 'http://google.com'
driver.get(ref)
driver.save_screenshot('./Screenshots/temp.png')
driver.quit()

请注意,Python Documentation指定确实存在更多方法((,如下所示:

  1. get_screenshot_as_png():以二进制数据的形式获取当前窗口的屏幕截图。
  2. get_screenshot_as_file(filename):获取当前窗口的屏幕截图。
  3. get_screenshot_as_base64():获取当前窗口的屏幕截图作为base64编码字符串

参考

您可以在如何使用Selenium WebDriver截屏中找到详细讨论

最新更新