selenium中页面截图和元素截图的方法

摘要:
get_screenshot_as_flie,与save_screenshot功能相似。不过get_screenshot_as_flie可以指定文件路径,而save_screenshot是默认在项目目录下生成图片。

一、页面截图

selenium中页面截图的方法比较简单,可以直接使用selenium自带的截图方式save_screenshot(‘filename’)。

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://xlrz.chdi.com.cn/wssq/")
driver.save_screenshot("login.png")

注意:save_screenshot的文件后缀名只能是png。

get_screenshot_as_flie("文件路径"),与save_screenshot(‘filename’)功能相似。不过get_screenshot_as_flie("文件路径")可以指定文件路径,而save_screenshot(‘filename’)是默认在项目目录下生成图片。

二、元素截图

元素截图需要先安装第三方pillow库,安装命令是“pip install pillow”.代码中需要先导入Image模组。

例如获取学历认证登录页面,【登录】按钮具体代码如下:

from selenium import webdriver
from PIL import Image

driver = webdriver.Chrome()
driver.get("http://xlrz.chdi.com.cn/wssq/")
#获取登录页面的截图
driver.save_screenshot('login.png')
#定位登录按钮
imgcode=driver.find_element_by_name("submit")
#loaction方法获取元素坐标值X,y,且以字典的方式返回
left=imgcode.location['x']
top=imgcode.location['y']
#size方法获取元素的高度和宽度,以字典方式返回
right=left+imgcode.size['width']
bottom=top+imgcode.size['height']
#打开登录页面的截图
im=Image.open("login.png")
#获取登录按钮截图
mg=im.crop((left,top,right,bottom))
#保存截图,命名未ann
mg.save('ann.png')

免责声明:文章转载自《selenium中页面截图和元素截图的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇eslint 取消校验如何解决在写入csv格式文件时出现空行的问题?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Selenium中日期控件的操作

有时页面为了防止用户修改指定的属性或者输入错误的格式,会对某些输入框设置readonly只读属性。一些日期选择框为了避免用户输入错误的格式,将输入框设置为只读,用户只能通过点击日期控件进行选择日期,如图5.11,网址为:http://www.miniui.com/demo/datepicker/datepicker.html 在使用日期控件通过点击选择日...

Selenium示例集锦--常见元素识别方法、下拉框、文本域及富文本框、鼠标操作、一组元素定位、弹窗、多窗口处理、JS、frame、文件上传和下载

元素定位及其他操作 0、常见的识别元素的方法是什么? 1 driver.find_element_by_id() 2 driver.find_element_by_name() 3 driver.find_element_by_class_name() 4 driver.find_element_by_tag_name() 5 driver.find...

selenium自动化测试工具的使用总结

1、设置无头浏览器模式 from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('- -headless') chrome_opti...

Selenium 3 + BrowserMobProxy 2.1.4 模拟浏览器访问 (含趟坑)

背景 Selenium 是一个Web自动化测试的组件,可基于WebDriver去控制弹出浏览器去做一系列Web点击或行为测试(当然也可以去做一些邪恶的事。。),减少重复人工网页测试的开销。BrowserMobProxy相当于一层代理,它配合Selenium使用可以在Selenium控制浏览器访问之前在代理层拦截做出一些记录(har)、修改等。 一般来说,直...

Selenium浏览器自动化测试工具

Selenium浏览器自动化测试工具 目录 Selenium浏览器自动化测试工具 Selenium模块在爬虫中的使用 Python简单使用Selenium执行结果 Selenium的基本操作执行效果点击查看 Selenium爬取动态加载的数据http://125.35.6.84:81/xk/ 目标网站 Selenium动作链 (实现拖动...

selenium定位多个嵌套iframe

一. driver.switch_to.frame(id):可以通过id切换到iframe之前学习了selenium切换到iframe的方法,代码如下 from selenium import webdriver driver = webdriver.Chrome() driver.switch_to.frame(0)...