zoukankan      html  css  js  c++  java
  • 【python+selenium】截取某个元素

    一、 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时成功

    三、截取某元素

    参考代码

     1 # coding:utf-8
     2 from selenium import webdriver
     3 from PIL import Image
     4 driver=webdriver.Firefox()
     5 driver.get("https://www.baidu.com")
     6 e=driver.find_element_by_id("su")
     7 driver.get_screenshot_as_file(r"C:UsersAdministratorDesktoputton.png")
     8 #打印元素坐标
     9 print(e.location)
    10 #打印元素大小
    11 print(e.size)
    12 left=e.location['x']
    13 top=e.location['y']
    14 right=left+e.size['width']
    15 bottom=top+e.size['height']
    16 im=Image.open(r"C:UsersAdministratorDesktoputton.png")
    17 #对图片进行裁剪
    18 im=im.crop((left,top,right,bottom))
    19 im.save(r"C:UsersAdministratorDesktoputton.png")
  • 相关阅读:
    【Codeforces Round #432 (Div. 1) B】Arpa and a list of numbers
    【Codeforces Round #433 (Div. 1) B】Jury Meeting
    【 2017 Multi-University Training Contest
    【Codeforces Round #433 (Div. 2) C】Planning
    JavaEE(15)
    谓词推入引发的惨案
    子查询解嵌套in改写为exists
    子查询解嵌套not in 无法展开改写
    dump datafile block
    关于v$sql_bind_capture 的问题
  • 原文地址:https://www.cnblogs.com/dhs94/p/9147925.html
Copyright © 2011-2022 走看看