一、 selenium截图
1.selenium提供了几个截取全屏的方法
- get_screenshot_as_file(self, filename)
 --这个方法是获取当前window的截图,出现IOError时候返回False,截图成功返回True。
 filename参数是保存文件的路径。
 > driver.get_screenshot_as_file('/Screenshots/foo.png')
- get_screenshot_as_base64(self)
 --这个方法也是获取屏幕截图,保存的是base64的编码格式,在HTML界面输出截图的时候,会用到。

比如,想把截图放到html测试报告里。
 > driver.get_screenshot_as_base64()
- get_screenshot_as_png(self)
 --这个是获取屏幕截图,保存的是二进制数据,很少用到.
 > driver.get_screenshot_as_png()
2.selenium其实也提供了对元素截图的方法,但是会报错。

二、安装pillow

在cmd中输入 pip install pillow 安装pillow时报错“Could not find a version that satisfies the requirement pollow (from version).....”

百度过后升级pip python -m pip install --upgrade pip后再次安装pip时成功

三、截取某元素

参考代码

 # coding:utf-8
from selenium import webdriver
from PIL import Image
driver=webdriver.Firefox()
driver.get("https://www.baidu.com")
e=driver.find_element_by_id("su")
driver.get_screenshot_as_file(r"C:\Users\Administrator\Desktop\button.png")
#打印元素坐标
print(e.location)
#打印元素大小
print(e.size)
left=e.location['x']
top=e.location['y']
right=left+e.size['width']
bottom=top+e.size['height']
im=Image.open(r"C:\Users\Administrator\Desktop\button.png")
#对图片进行裁剪
im=im.crop((left,top,right,bottom))
im.save(r"C:\Users\Administrator\Desktop\button.png")

【python+selenium】截取某个元素的更多相关文章

  1. python selenium截取指定元素图片

    1.截取当前屏幕 @property def getImage(self): ''' 截取图片,并保存在images文件夹 :return: 无 ''' timestrmap = time.strft ...

  2. selenium截取具体元素图片(python版)

    原理: 1.截图(整个窗口) 2.获取此元素坐标 element = driver.find_element_by_id("xx") element.location) 3.获取此 ...

  3. 【selenium学习笔记一】python + selenium定位页面元素的办法。

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...

  4. Python +selenium之设置元素等待

    注:本文转载http://www.cnblogs.com/mengyu/p/6972968.html 当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给元素的定位增加了困难.如果因为在加 ...

  5. python + selenium定位页面元素的办法

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...

  6. Python + Selenium 上传元素为button类型的文件的解决办法

    工具:winspy Python所需安装模块:pywin32 (安装语句:pip install -i https://pypi.douban.com/simple pywin32) 元素位置: 对应 ...

  7. python+selenium页面自动化 元素定位实际遇到的各种问题(持续更新)

    1.class属性有空格  (已验证) 当classname 中存在空格的时候,直接使用find_element_by_class_name时,会显示定位失败,此时,需要将classname中的空格替 ...

  8. python selenium中等待元素出现及等待元素消失操作

    在自动化测试中,很多时候都会有等待页面某个元素出现后能进行下一步操作,或者列表中显示加载,直到加载完成后才进行下一步操作,但时间都不确定,如下图所示 幸运的是,在selenium 2后有一个模块exp ...

  9. python+selenium 定位隐藏元素

    定位隐藏要素的原理:页面主要通过“display:none”来控制元素不可见.所以我们需要通过javaScript修改display的值得值为display="block,来实现元素定位的. ...

  10. python selenium操作表格式元素实例

    很多时候,网页上的布局都是表格形式的,如出下面这样的 这种网页类型在自动化中比较头痛,需要很多判断,下面就举个例子,这里以深圳出入境网页为例,http://yysl.sz3e.com/wsyysq/s ...

随机推荐

  1. 为Django添加图片验证码

    可直接复制到Django项目中使用 # author:sunshine from django.http import HttpResponse from PIL import Image, Imag ...

  2. 如何使用postman模拟https的post和get请求

    下载postman The Collaboration Platform for API Development https://www.getpostman.com/ 按照api文档要求测试,下面以 ...

  3. WINDOWS命令行关闭本地占用的端口

    1.查找对应的端口占用的进程:netstat  -aon|findstr  "8060"    ,找到占用8060端口对应的程序的PID号: netstat  -aon|finds ...

  4. 在Flutter中构建布局

    这是在Flutter中构建布局的指南.首先,您将构建以下屏幕截图的布局.然后回过头, 本指南将解释Flutter的布局方法,并说明如何在屏幕上放置一个widget.在讨论如何水平和垂直放置widget ...

  5. 有关IP和子网掩码的总结

    从之前写的那个概括的文章之后,具体细节知识我也不知道写啥子,最近忙于毕业论文和考证,所以就总结一下这方面的知识,本篇的话就先从IP说起. IP这方面有IPv4和IPv6这两方面的内容,这里就只说IPv ...

  6. 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

  7. 第一个go程序

    进入到工作空间中(我的是$HOME/go, 所以使用cd $HOME/go命令直接进入) 然后创建一个目录 src/hello( mkdir src/hello), 然后进入到该目录中(cd src/ ...

  8. IOS div上下滑动效果

    内容放在div中 div加样式:width: 100%;height: 100%;z-index: 70;overflow: auto;

  9. last 和 lastb 命令

    NAME last - show listing of last logged in users 数据源:/var/log/wtmp 文件 lsstb - show listing of last l ...

  10. [转帖]Cookie与Passport安全

    Cookie与Passport安全 https://www.cnblogs.com/xinzhao/p/6395153.html 感觉自己对网络安全性的理解还是不深入 不透彻. 对于web系统而言,由 ...