首页 > 解决方案 > 如何在python中制作网页截图

问题描述

我正在尝试在 python 中截取网页的屏幕截图。用火狐,

from selenium import webdriver

browser = webdriver.Firefox('/Users/user_name/Downloads/geckodriver')
browser.get('http://www.google.com/')
browser.save_screenshot('screenie.png')
browser.quit()

我收到错误消息:

NotADirectoryError: [Errno 20] Not a directory: '/Users/user_name/Downloads/geckodriver'

尽管路径是真实的。
然后我用chrome试了一下,

from selenium import webdriver
driver = webdriver.Chrome('/Users/user_name/Downloads/chromedriver') #('/path/to/chromedriver')
driver.get('https://pythonspot.com');
driver.save_screenshot("screenshot.png");

我收到错误消息(mac pop up):

"chromedriver" cannot be opened because the developer cannot be verified.

不幸的是,我也收到了 msedge 错误

from selenium import webdriver
from time import sleep
filename = 'f_map.html'
MyBrowser = webdriver.Edge(r"/Users/user_name/Downloads/edgedriver_mac64/msedgedriver")
murl = r'file:\\{path}\{mapfile}'.format(path='/Users/user_name/Documents/',mapfile=filename)
MyBrowser.get(murl)
sleep(10) #this is not strictly necessary but is here in case you need time for map tiles to load
MyBrowser.save_screenshot('file_name.png')
MyBrowser.quit()

在这种情况下,我得到:

SessionNotCreatedException: Message: session not created: No matching capabilities found

欢迎任何提示。

标签: pythonhtmlselenium-webdriverwebdriverscreenshot

解决方案


推荐阅读