selenium自动化测试工具的使用总结

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.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、获取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)

6、执行双击

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)

7、执行等待

# 隐式等待:设置一个等待时间,如果在这个等待时间内,网页加载完成,则执行下一步;否则一直等待时间截止,然后再执行下一步。这样也就会有个弊端,程序会一直等待整个页面加载完成,直到超时,但有时候我需要的那个元素早就加载完成了,只是页面上有个别其他元素加载特别慢,我仍要等待页面全部加载完成才能执行下一步。
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)

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

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)

9、退出driver程序

driver.quit()

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')

原文地址:https://www.cnblogs.com/We612/p/12370703.html

时间: 2024-10-20 16:36:03

selenium自动化测试工具的使用总结的相关文章

selenium自动化测试工具模拟登陆爬取当当网top500畅销书单

selenium自动化测试工具可谓是爬虫的利器,基本动态加载的网页都能抓取,当然随着大型网站的更新,也出现针对selenium的反爬,有些网站可以识别你是否用的是selenium访问,然后对你加以限制. 当当网目前还没有对这方面加以限制,所以今天就用这个练习熟悉一下selenium操作,我们可以试一下爬取一下当当网top500的畅销书单的相关信息,页面如下: 虽然这个页面不用登录就可以进来,但是我们可以随便试一下模拟登陆,直接在这个页面上面点击登录进入登录界面,然后会弹出一下窗口, 这是百分百会

Web自动化测试工具——Selenium

在最近的Web课程设计上我接触到了Selenium这款Web自动化测试工具,它可以通过一系列find_element()方法定位到目标元素,对其发送模拟按键操作,使操作自动化. 首先,使用pip安装Selenium的Python模块. 下面是我写的例程.find_element_by_name方法就是通过name属性来定位元素,然后通过send_keys()发送模拟按键.基于这样的操作基本可以完成各种web下的模拟操作. import time from selenium import webd

Selenium(ThoughtWorks公司开发的web自动化测试工具)

Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7.8.9).Mozilla Firefox.Mozilla Suite等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建衰退测试检验软件功能和用户需求.支持自动录制动作和自动生成 .Net.Java.Perl等不同语言的测试脚本.Selenium 是ThoughtWor

自动化测试工具——selenium

官方网站:http://www.openqa.org/selenium/ 1.常用的几种Selenium Selenium IDE是一个带有执行界面的,用于录制或编写脚本的初级工具.它是一个firefox插件,因此只能够在Firefox上使用. Selenium1(Selenium-RC)能支持几乎所有浏览器的测试,但受到JavaScript安全模型导致的限制,其编程方式更像是面向过程的而非面向对象的. Selenium2(即WebDriver)是一种用于Web应用程序的自动化测试工具,不依赖于

Python进行自动化测试工具

在自动化测试里Python用途很广,但是市面上测试工具不是很多,这里主要介绍的是一些Python测试的框架 1.单元测试 a.unittest.doctest:Python自带的单元测试框架 b.pyunit:Junit的Python版本 c.pytest.nose.zope.testing:pipy上第三方测试工具 2.Windows GUI测试a.pywinauto: 3.Web自动化测试 a.selenium:web driven b.robot framework:关键字驱动 c.pam

selenium自动化测试(1):环境搭建

Selenium是一款优秀的WEB自动化测试工具,它功能强大,易于使用,支持多种平台.多种浏览器和多种开发语言.这里介绍使用python+selenium进行自动化测试的一些基础知识. 在Windows下搭建测试环境,首先需要下载Python,Selenium应该还不支持Python 3.x系列,所以最好选择Python 2.x,注意区分32位和64位. Python的安装特别简单,需要提醒的是,安装路径中千万不要包含空格(最好也别包含中文),否则后面使用pip安装扩展包的时候可能会失败!其他的

python+selenium 自动化测试环境搭建

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: *  免费,也不用再为破解QTP而大伤脑筋 *  小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序. *  这也是最重要的一点,不管你以前更熟悉C. java.ruby.python.或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS *  支持多平台:windows.linux.MAC ,支持多浏览器:ie.f

推荐五款Android 应用的自动化测试工具

如今自动化测试已经应用到每天的测试中.这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏. 自动化测试工具选择很多.一些是开源的,一些非常贵.一些自动化工具是几年前出的,一些才在市场上出来.每款工具有一定的特点,都是独特的. 在众多的可选择的自动化工具中,要选到项目合适的工具是比较困难的.问题是,几乎没有任何现有的工具完全适应项目的要求. 为了自动化测试有效和有益,它必须具有: 1.研究测试和项目中的软件产品: 2.明确哪些测试需自动化 3.制定自动化测试

JavaScript(Node.js)+ Selenium自动化测试

Selenium is a browser automation library. Most often used for testing web-applications, Selenium may be used for any task that requires automating interaction with the browser. Selenium是一个浏览器自动化测试库,大多时候我们用它来测试web应用,Selenium 可以胜任任何在浏览器上自动化测试的任务. 众所周知,