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)

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

本文标题: Selenium自动化测试工具使用方法汇总

本文地址: http://www.cppcns.com/jiaoben/python/318956.html

自动化测试工具selenium python_Selenium自动化测试工具使用方法汇总相关推荐

  1. 自动化测试工具-selenium介绍及基本使用方法

    Selenium是一个开源.免费.简单.灵活,对Web浏览器支持良好的自动化测试工具,在UI自动化.爬虫等场景下是十分实用的,能够熟练掌握并使用Selenium工具可以大大的提高效率. Seleniu ...

  2. 预见自动化测试 | 基于 SELENIUM 的自动化测试架构

    基于 SELENIUM 的自动化测试架构 非常感谢各位查阅本篇文章,笔者在此感谢各位. 目前市面上有分门别类的自动化测试工具,这篇文章将讨论开源自动化测试工具 Selenium的使用,以及围绕该工具进 ...

  3. 自动化测试工具selenium python_WEB自动化测试工具selenium录制器

    简介 selenium录制器是最近刚流行起来的一个WEB自动化测试工具,由多测测团队开发. Selenium录制器采用关键字驱动的理念,简化测试用例的创建和维护,可以直接运行在浏览器中,就像真正的用户 ...

  4. 自动化测试工具selenium python_自动化测试工具之Selenium(一)-----Selenium的介绍以及安装...

    一.Selenium介绍 Selenium是一个用于Web应用自动化测试的工具.selenium 工具模拟用户行为,最擅长做的事情就是模拟用户点击,输入内容等等.自动化测试模拟用户操作,用户访问一个百 ...

  5. Selenium之定位浏览器弹窗方法汇总

    目录 1. alert.confirm.prompt类型弹框 1.1 alert弹框 1.2 confirm弹框 1.3 prompt弹框 2. div弹框 3. 新标签页弹窗 4. 弹出框是ifra ...

  6. selenium - web 自动化测试

    1.什么是自动化 有效的减少人力的消耗, 同时提高生活的质量. 通过自动化测试有效减少人力的投入, 同时提高了测试的质量和效率. 1.1 为什么需要自动化测试 测试人员有个环节叫做回归测试. 回归测试 ...

  7. Python3 爬虫学习笔记 C04 【自动化测试工具 Selenium】

    Python3 爬虫学习笔记第四章 -- [自动化测试工具 Selenium] 文章目录 [4.1]下载驱动 [4.2]声明浏览器对象 [4.3]访问页面 [4.4]启动参数 [4.5]查找节点 [4 ...

  8. 开源测试框架-UI自动化测试工具Selenium的安装与常用操作-Java语言

    为什么选择Selenium作为测试工具: 开源免费 容易与单元测试框架结合 代码可自主掌握,对于搭建框架,平台等有不可替代的优势 ​ Selenium也是一个用于Web应用程序测试的工具,支持多平台, ...

  9. 想入坑自动化测试?先了解下必备工具---Selenium

    目录 前言 一.selenium简介 二.selenium历程 三.selenium原理 四.selenium脚本 五.源码分析 六.如何打开浏览器 七.如何执行对应操作 八.模拟selenium 九 ...

最新文章

  1. F - CRB and String HDU - 5414
  2. python中二维数组如何按索引找元素_按索引或坐标访问二维数组中的元素
  3. Hadoop手动升级HA配置手册
  4. 远程过程调用RPC RMI(Remote Method Invocation)和Web Service
  5. Composer报错Could not find a matching version of package解决方式
  6. Python客户端syn连接
  7. display: inline-block;水平居中
  8. oracle 查看动态性能视图,Oracle 中的V$ 动态性能视图
  9. Spring源码 (事务篇) - 整体流程
  10. cookie与session的区别与联系
  11. b/s模式的服务器性能监控系统,基于B/S模式的PC监控系统及方法
  12. VS F5自动编译 F5不自动编译
  13. winform 控件没有Cursor属性时的处理办法
  14. SuperSearch(超级网搜、超级网际搜索)V6.2 —— 让思考从搜索开始
  15. RPG像素游戏角色大合集
  16. SQL出现MSDB置疑
  17. 东南亚lazada平台分跨境店和本土店两种,二者的区别都写在这里了
  18. 【Web技术】1257- 基于FFmpeg的图片合成视频
  19. win7上安装microsoft edge浏览器, 模拟ie11模式
  20. 计算某日新增用户,及其次日、3日、3日内的留存率

热门文章

  1. CASS软件学习笔记
  2. Python rang()函数
  3. 30 | 图的表示:如何存储微博、微信等社交网络中的好友关系?
  4. 04 | 复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度
  5. POST请求传入中文参数,接收端乱码
  6. LeetCode 三数之和 — 优化解法
  7. JS 判断手机操作系统代码
  8. mysql: 模糊查询 feild like keyword or feild like keyword , concat(feild1,feild2,feild3) like keyword...
  9. 2017.4.17------软件测试的艺术+整理以前的摘记
  10. 1、管理员登录中间件和注销