对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素.若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了. WebDriver.PhantomJS自带的方法支持对整个网页截屏. 下面提供几种思路. 方式一 针对WebDriver.Chrome 通过WebDriver的js脚本注入功能,曲线救国. 注入第三方html转canvas的js库(见下方推荐) 获取元素html源码 将html转换为canvas 下载canvas 优点: 截取长…
先在首页上执行一段 JavaScript 脚本,将页面的滚动条拖到最下方,然后再拖回顶部,最后才截图.这样可以解决那种按需加载图片的情况 以下代码为转载别处博客改造后的,有chrome和ff两种浏览器. 由于webdriver.chrom只能截取当前页面图片,不能截取整个网页图片,因此额外使用webdriver.PhantomJS,需要下载PhantomJS,将PhantomJS.exe放到python的script目录下 from selenium import webdriver impor…
Python+Selenium自动化-定位页面元素的八种方法   本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_element_by_id(' ') name定位:find_element_by_name(' ') class定位:find_element_by_class_name(' ') tag定位:find_element_by_tag_name(' ') link定位:find_element_by_link_…
Python+Selenium自动化-获取页面信息   1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import time browser = webdriver.Chrome() browser.get('https://www.baidu.com') #打印网页标题 print(browser.title) #输出内容:百度一下,你就知道 2.获取页面URL current_url:获取当前页面的URL fr…
1.常用的可能是谷歌和火狐做自动化在抛异常的时候可以截屏保存 from selenium import webdriver br=webdriver.Chrome() br.maximize_window() br.get("https://www.cnblogs.com/Jack-cx/p/9383990.html") br.save_screenshot("e:/app1.png") 效果1,直截当前页面: 2.有的场景需要截全屏,但是内容过多,所以用 Phan…
Python+Selenium中级篇之8-Python自定义封装一个简单的Log类: https://blog.csdn.net/u011541946/article/details/70198676…
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains dr = webdriver.Chrome() dr.get('http://www.baidu.com') ActionChains(dr).move_by_offset(200, 100).click().perform() # 鼠标左键点击, 200为x坐标, 100为y坐标 ActionChains…
1 class BasePage(): 2 """selenium基类""" 3 4 def __init__(self, driver=None): 5 self.log = Log().logger 6 self.report = cm.allure_json 7 self.broswer = CONF.web_broswer or 'firefox' 8 self.base_url = CONF.web_url 9 self.timeout…
# -*- coding: utf-8 -*- import time import os from selenium import webdriver from selenium.webdriver.common.keys import Keys jenkinsJobName=os.getenv("JOB_NAME") url="http://*.*.*.*/test.html" print url save_fn="testResult.PNG&quo…
在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的.但是实际工作中,很多前端开发人员并未给每个元素都编写id属性.通常一段html代码如下: <div class="sui-tips s-isindex-wrap sui-tips-exceedtipnews" style="display: none; width: auto;"><div class="sui-tips-arrow" st…