网页截图操作
案例一:分别打开我要自学网页面和百度页面,然后进行截图
from selenium import webdriver
from time import sleep
#加载浏览器驱动
driver=webdriver.Firefox()
#打开自学网页面并截图
driver.get("http://www.51XXX.net")
driver.get_screenshot_as_file(r"E:\Python_script\51XXX.jpg")
#打开百度页面并截图
driver.get("http://www.baidu.com")
driver.get_screenshot_as_file(r"E:\Python_script\baidu.png")
sleep(2)
driver.quit()
案例二:
from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
sleep(2)
#截图方式一:用途:只能截取当前页面的全屏,获取截屏png图片,参数是文件的绝对路径,截屏必须是.png图片。如果只给文件名,截屏会存在项目的根目录下。
driver.get_screenshot_as_file(r"D:\a.png")
sleep(2)
driver.quit()
#截图方式二:用途:用法等同于方式一,获取截屏png图片,参数是文件名称,截屏必须是.png图片, 如果只给文件名,截图会保存在项目的根目录下面。
#driver.save_screenshot(filename/full_path):
#截图方式三用途:截取后直接是二进制,并不能像前两个方法一样直接生成图片,我们再写入本地即可。
#driver.get_screenshot_as_png():
#截图方式四:用途:截取后的图片是以base64加密过的,需要解密后再写入本地。获取截屏的base64编码数据,在HTML界面输出截图时使用。
#driver.get_screenshot_as_base64(r"D:\a.png")
案例三:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.implicitly_wait(10)
img_save = driver.find_element(by=By.XPATH, value="//img[@id='s_lg_img']")
a = driver.get_screenshot_as_png() # 截取后直接是二进制
with open("./img/two01.jpg", mode="wb")as f:
f.write(a)
driver.quit()
#以上用法是截取页面全屏,还可根据定位的元素截取相应的图片
img_save = driver.find_element(by=By.XPATH, value="//img[@id='s_lg_img']")
a = img_save.screenshot_as_png # 截取后直接是二进制,无括号
with open("./img/two01.jpg", mode="wb")as f:
f.write(a)
driver.quit()

浙公网安备 33010602011771号