selenium网页截图和截图定位

from selenium import webdriver
import time
from PIL import Image

driver = webdriver.Chrome()
driver.get(‘https://www.baidu.com/‘)
time.sleep(3)

# 演示一:全网页截图
# driver.save_screenshot(‘screenshot.png‘)
# driver.quit()

# 演示二:定位区块截图
driver.save_screenshot(r‘photo.png‘)  # 一次截图:形成全图
baidu = driver.find_element_by_id(‘su‘)  # 截图按钮百度一下
# baidu = driver.find_element_by_xpath("//div[@id=‘lg‘]/img[@class=‘index-logo-src‘]") #截图百度logo图片
# print(baidu)
left = baidu.location[‘x‘]  # 区块截图左上角在网页中的x坐标
top = baidu.location[‘y‘]  # 区块截图左上角在网页中的y坐标
right = left + baidu.size[‘width‘]  # 区块截图右下角在网页中的x坐标
bottom = top + baidu.size[‘height‘]  # 区块截图右下角在网页中的y坐标
# print({"left": left, "top": top, "right": right, "bottom ": bottom})
# print("baidu.size[‘width‘]:%s" % baidu.size[‘width‘])
# print("baidu.size[‘height‘]:%s" % baidu.size[‘height‘])
picture = Image.open(r‘photo.png‘)
picture = picture.crop((left, top, right, bottom))  # 二次截图:形成区块截图
picture.save(r‘photo2.png‘)
driver.quit()

  

原文地址:https://www.cnblogs.com/andy9468/p/10916415.html

时间: 2024-10-08 09:32:45

selenium网页截图和截图定位的相关文章

selenium web driver 实现截图功能【转】

在验证某些关键步骤时,需要截个图来记录一下当时的情况 Webdriver截图时,需要引入 import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; 截图方法 public static void snapshot(

selenium基础(窗口截图)

窗口截图 目的:当脚本执行出错时对当前窗口进行截图 方法:get_screenshot_as_file() #打开百度首页,搜索“selenium",完成后进行截图,并将结果保存至D:/test.png from selenium import webdriver import time driver=webdriver.Firefox() driver.maximize_window() driver.get("https://www.baidu.com") driver.

selenium 自动化基础知识(各种定位)

元素的定位 webdriver 提供了一很多对象定位方法  例如: [ id ] , name , class name , link text , partial link text , tag name, xpath , css selector 例如:下图 # -*- coding: utf-8 -*- # 通过id方式定位 browser.find_element_by_id("kw").send_keys("selenium") # 通过name方式定位

Selenium webdriver 学习总结-元素定位

Selenium webdriver 学习总结-元素定位 webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要高些,使用id,name属性定位元素是最可靠,效率最高的一种办法. 1.工具选择:在我们开发测试脚本的过程中各个浏览器给我们也提供了方便定位元素的工具,我比较喜欢使用firefox的firebug工具,也是目前很多开发测试人员比较热衷的选择,原因是firefox是唯一能够集成selenium IDE

Selenium(一)元素定位的方法

在Selenium中定位元素有七种方法: 1. identifier定位 这是最普遍的一种定位方式,在Selenium中默认为identifier定位,在这种策略下,第一个使用id的页面元素将被识别出来,如果没有使用指定id的元素,那么将识别第一个名字与指定条件相符的元素.例如:identifier=Continue  //定位页面元素为Continue因为identifier定位是默认方式,因此"identifier=" 可以不写. 2. id定位(最常用) 这种定位方式比ident

selenium 网页截图并保存

from selenium import webdriverfrom PIL import Imagefrom time import sleep login_12306 = webdriver.Chrome(executable_path=r'D:\python学习\其他\chromedriver.exe')login_12306.maximize_window() # 设置浏览器全屏login_12306.get('https://kyfw.12306.cn/otn/resources/lo

python3+selenium入门16-窗口截图

有时候需要把一些浏览器当前窗口截图下来,比如操作抱错的时候.WebDriver类下.get_screenshot_as_file()方法可窗口截图,需要传入一个截图文件名的路径.window要用\\当做路径符 from selenium import webdriver import time dr = webdriver.Firefox() dr.get('https://www.baidu.com') dr.find_element_by_id('kw').send_keys('seleni

UiAutomatorViewer无法获取手机截图进行元素定位的解决办法

问题描述 本来想使用UIAutomatorView定位app页面元素的,最开始我使用的是夜神模拟器,打开UIAutomatorView连接模拟器没有问题,但是后来我使用真机时发现无法连接到真机获取真机的截图,具体报错信息如下 解决办法 1. 在任意盘的根目录(不是根目录也没问题)新键app.png 与app.uix 两个文件(我这里放在的E盘下面) 2. 打开CMD按照顺序执行下面的命令 adb shell uiautomator dump /sdcard/app.uix     #  把当前窗

【在网页中获取截图数据】Chrome和Firefox下的实战经验

[转载自我在segmentfault的专栏:https://segmentfault.com/a/1190000004584071] 最近在实现一个功能,需求如下: 前提:当前页面无弹窗 页面任意位置执行粘贴 读取剪切板中的截屏数据 上传截图 首先还是从网上找相关的例子. 找到了SF上的专栏文章<js获取剪切板内容,js控制图片粘贴>. 于是基于这个,做出了第一版的截图上传功能. 由于项目使用的是angularjs,事先已经封装好一套上传图片的办法,只需要调用 $scope.image = b