使用selenium对当前窗口或当前定位元素进行截图操作
当前窗口截图
方法
保存为PNG格式
1 2
| driver.get_screenshot_as_file(filename) driver.save_screenshot(filename)
|
filename
:文件路径,应以 .png
结尾
保存为二进制格式
1
| driver.get_screenshot_as_png()
|
保存为base64编码格式
1
| driver.get_screenshot_as_base64()
|
这在HTML中的嵌入图像很有用
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import time from selenium.webdriver import Chrome from selenium.webdriver.chrome.options import Options
options = Options() options.add_argument('--headless') options.add_argument( 'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')
driver = Chrome(options=options)
driver.get('https://www.gaoyuanqi.cn/python-html-1/#more') time.sleep(3)
driver.get_screenshot_as_file('./aa.png') driver.save_screenshot('./bb.png')
print(driver.get_screenshot_as_png())
print(driver.get_screenshot_as_base64())
driver.quit()
|
当前元素截图
元素需可见
方法
保存为PNG格式
1
| driver.screenshot(filename)
|
filename
:文件路径,应以 .png
结尾
保存为二进制格式
1
| driver.screenshot_as_png
|
保存为base64编码格式
1
| driver.screenshot_as_base64
|
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| import time from selenium.webdriver import Chrome from selenium.webdriver.chrome.options import Options
options = Options() options.add_argument('--headless') options.add_argument( 'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')
driver = Chrome(options=options)
driver.get('https://www.gaoyuanqi.cn/python-html-1/#more') time.sleep(3)
webelement_image = driver.find_element_by_class_name('tu_pian')
webelement_text = driver.find_element_by_class_name('text_url')
webelement_image.screenshot('./image.png') webelement_text.screenshot('./text.png')
print(webelement_image.screenshot_as_png) print(webelement_text.screenshot_as_png)
print(webelement_image.screenshot_as_base64) print(webelement_text.screenshot_as_base64)
driver.quit()
|