Selenium自动化测试工具使用方法汇总


Posted in Python onJune 12, 2020

1、设置无头浏览器模式

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('- -headless')
chrome_options.add_argument('- -disable-gpu')
class XX(object):
self.driver = webdriver.Chrome(chrome_options=chrome_options)# 设置无头

2、设置屏幕尺寸

self.driver.maximize_window() # 最大
self.driver.get_window_size() # 获取窗口尺寸
self.driver.set_window_size(1296, 1000) # 指定像素 宽1296 高1000

3、通过xpath获取元素并单击

element = self.driver.find_elements_by_xpath('//*[@id="disabled"]/li[3]/a') # element是获取的元素列表
element [0].click()

4、关闭单个窗口

# 关闭单个窗口
self.driver.close()

5、退出driver程序,关闭浏览器

driver.quit()

6、获取input标签 输入文字 执行回车

from selenium.webdriver.common.keys import Keys
# 输入主机名:spupa01bat04 回车查询
element = self.driver.find_elements_by_xpath(input_enter_xpath)[0]
element.send_keys('spupa01bat04')
element.send_keys(Keys.ENTER)

7、执行双击

from selenium import webdriver
from selenium.webdriver import ActionChains # 该类可执行鼠标动作:双击 拖拽等
self.driver = webdriver.Chrome()
self.acobj = ActionChains(self.driver)
checkName = '风险'
# '" + checkName + "'是向标签xpath字符串路经引入的变量
Xpath = "//span[text()='" + checkName + "']/../../..//span[text()='FSCapacity']"
el_01 = self.driver.find_elements_by_xpath(Xpath)[0] # 获取元素
self.acobj.double_click(el_01).perform() # 执行双击
self.driver.implicitly_wait(20)

8、执行等待

# 隐式等待:设置一个等待时间,如果在这个等待时间内,网页加载完成,则执行下一步;否则一直等待时间截止,然后再执行下一步。这样也就会有个弊端,程序会一直等待整个页面加载完成,直到超时,但有时候我需要的那个元素早就加载完成了,只是页面上有个别其他元素加载特别慢,我仍要等待页面全部加载完成才能执行下一步。
self.driver.implicitly_wait(10)
# 显示等待:配合该类的until()和until_not()方法,就能够根据判断条件而进行灵活地等待了。它主要的意思就是:程序每隔xx检查一次,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException
from selenium.webdriver.support.wait import WebDriverWait
# 超时时间为30秒,每0.2秒检查1次,直到class="tt"的元素出现
text = WebDriverWait(driver,30,0.2).until(lambda x:x.find_element_by_css_selector(".tt")).text
print(text)
# 强制等待:简单粗暴效率低
from time import sleep
sleep(5)

9、浏览器全屏截图保存到指定路径

png01_path = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'resource', 'png_codes.png')
self.driver.save_screenshot(png01_path)

10、select下拉框的选值处理

from selenium.webdriver.support.select import Select
# 定位下拉框对象
select_element = self.driver.find_elements_by_xpath(select_xpath)[0]
# 构建下拉框对象
sel_obj = Select(select_element)
# 通过value值进行选择:一周
sel_obj.select_by_value('168h')

11、# 浏览器位置

# 获取浏览器位置
position = driver.get_window_position()
print(position)
# 设置浏览器位置
driver.set_window_position(100, 100)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python函数式编程—高阶函数
Mar 29 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
Python中base64与xml取值结合问题
Dec 22 Python
pycharm 更改创建文件默认路径的操作
Feb 15 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
Python爬取365好书中小说代码实例
Feb 28 Python
在Python IDLE 下调用anaconda中的库教程
Mar 09 Python
python实例化对象的具体方法
Jun 17 Python
Python3实现建造者模式的示例代码
Jun 28 Python
Python内存泄漏和内存溢出的解决方案
Sep 26 Python
AI:如何训练机器学习的模型
Apr 16 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 Python
Python使用socketServer包搭建简易服务器过程详解
Jun 12 #Python
Django之腾讯云短信的实现
Jun 12 #Python
python相对企业语言优势在哪
Jun 12 #Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 #Python
为什么说python适合写爬虫
Jun 11 #Python
python新手学习使用库
Jun 11 #Python
keras实现多种分类网络的方式
Jun 11 #Python
You might like
PHP与SQL注入攻击[二]
2007/04/17 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
js 判断计算字符串长度/判断空的简单方法
2013/08/05 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
轻松创建nodejs服务器(9):实现非阻塞操作
2014/12/18 NodeJs
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
python将unicode转为str的方法
2017/06/21 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
python内存管理机制原理详解
2019/08/12 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
Python字符串格式化输出代码实例
2019/11/22 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
秋季运动会表扬稿
2014/01/16 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
合作协议书模板2014
2014/09/26 职场文书
学生病假条怎么写
2015/08/17 职场文书
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL