selenium
weeds606
加速成长……
展开
-
selenium处理警告框
selenium处理javascript生成的alter、confirm、prompt十分简单,具体做法是使用switch_to_alter定位到alter/confirm/prompt,然后使用text/accept/dismiss/send_keys等方法进行操作。text:返回text/confirm/prompt中的文字信息。accep():接受现有警告dismiss():解散现有警告se...原创 2018-03-07 20:49:00 · 1378 阅读 · 0 评论 -
selenium多表单切换
在web页面中经常使用frame/iframe表单嵌套页面的应用,webdriver只能在一个页面上定位元素,对于frame/iframe这样的内嵌式页面,webdriver无法直接定位到相应的元素,需要通过switch_to.frame()方法将目前定位的主体切换到frame/iframe表单的内嵌页面上。switch_to.frame("id/name"),该方法默认去表单的id或name进行...原创 2018-02-23 21:43:12 · 972 阅读 · 0 评论 -
selenium多窗口切换
在操作页面时,我们经常会遇到点击某个链接,弹出新的窗口,这时候需要切换到新开的窗口上进行操作,webdriver提供了相应的方法,可以实现在不同窗口之间的切换。这个方法就是switch_to.window()首先获取当前窗口的句柄:current_window = driver.current_window_handle当打开新的窗口之后,获取当前打开的所有窗口句柄:all_handles = d...原创 2018-02-23 22:04:31 · 3343 阅读 · 0 评论 -
UI自动化环境配置
环境信息:Python 3.5.0pip 9.0.1Selenium 3.9.0Google Chrome 63.0Webdriver 2.3.21.安装Python,并配置环境变量,环境变量配置成功,在dos命令输入python,如下显示:2.安装pip,在pip的解压目录启动dos窗口,输入命令:python setup.py install,安装pip。安装成功之后,在dos窗口输入:pip...原创 2018-02-11 21:34:48 · 809 阅读 · 0 评论 -
selenium元素定位By id、name、class、tag、link、partial link
selenium提供了八种元素定位的方法,分别有id、name、class、tag、link、partial link、XPath、CSS。本次我们先说说前六个定位方法。1.idHTML规定id属性在一个HTML文档中是唯一的 。用id进行定位的语法为:find_element_by_id("kw"),注:kw为id名称。2.nameHTML规定name来指定元素的名称,可以不唯一。用name进行...原创 2018-02-12 21:12:01 · 2924 阅读 · 1 评论 -
selenium元素定位之XPath
XPath是XML文档中定位元素的一种语言,HTML可以看成一种XML文档。XPath定位也是所有定位元素的方法中用的最多的,这块必须要掌握。1.绝对路径定位可以通过浏览器开发者模式找到要定位的元素,如下图操作。语法:find_element_by_xpath("/html/boay/div[1]/div[3]/input")2.利用元素属性进行定位除使用绝对路径进行定位外,还可以使用元素属性进行...原创 2018-02-12 22:13:45 · 8220 阅读 · 3 评论 -
selenium元素定位之CSS
CSS是一种语言,用来描述HTML和XML文档的属性,CSS使用选择器来为页面属性绑定属性。这些选择器可以被selenium用来当做定位元素的策略。CSS选择器常见的语法:选择器举例描述.class.douclass选择器,选择class="dou"的所有元素#id#gaoid选择器,选择id="gao"的所有元素**选择所有元素elementp选择所有<p>元素element>...原创 2018-02-13 20:59:59 · 680 阅读 · 0 评论 -
selenium控制浏览器
driver = webdriver.Firefox()1.控制浏览器的窗口大小指定浏览器的大小:driver.set_window_size(x,y)。注:x为浏览器的宽度,y为浏览器的高度。将浏览器最大化:driver.maxisize_window()2.控制浏览器前进后退控制浏览器前进:driver.forward()控制浏览器后退:driver.back()3.模拟浏览器刷新driver...原创 2018-02-21 21:27:52 · 205 阅读 · 0 评论 -
selenium-unittest框架介绍(一)
unittest是python自带的单元测试框架,下面通过代码介绍unittest框架#coding=utf-8from selenium import webdriverimport unittestfrom time import sleepclass TestBaiDu(unittest.TestCase): def setUp(self): """ ...原创 2018-03-12 22:36:20 · 814 阅读 · 0 评论 -
selenium设置元素等待
由于脚本运行速度过快,页面上有些元素未刷新出来,导致定位元素失败。为解决这一问题,我们需要在脚本中加入元素等待。webdriver提供了两种等待方式:显式等待和隐身等待。另外还有一种sleep休眠法。1.显示等待显示等待是webdriver等待某个条件成立时继续执行,否则在达到最大时长的时候抛出TimeoutException使用前需要导入相应的包:from selenium.webdriver....原创 2018-02-22 22:06:11 · 1897 阅读 · 0 评论 -
selenium获取验证信息
在编写脚本时,我们需要判断脚本的执行是否符合预期,这时我们就需要获取页面上的信息进行验证,常用的验证信息有title、URL、text。driver = webdriver.Firefox()1.title用途:用于获取当前页面的title。语法:driver.title2.URL用途:用于获取当前页面的URL地址。语法:driver.current_url3.textelement = driv...原创 2018-02-22 21:23:29 · 637 阅读 · 0 评论 -
selenium--quit()与close()的区别
webdriver提供了quit()和close()两种关闭的方法,这两种方法有什么不同呢。quit():退出相关驱动程序,关闭所有窗口close():关闭当前窗口打开百度首页,点击新闻链接,再点击个性推荐链接,此时会打开新的窗口,显示个性推荐页面。我们看看quit和close的区别#coding=utf-8from selenium import webdriverimport time...原创 2018-03-07 21:44:57 · 1180 阅读 · 0 评论 -
selenium操作cookie
有时候我们需要验证浏览器的cookie是否正确,webdriver提供了一些操作cookie的方法。1.get_cookies():获取所有的cookie信息2.get_cookie(name):返回字典key为“name”的cookie信息3.add_cookie(cookie_dict):添加cookie,“cookie_dict”指的是字典对象,必须有key和value4.delete_co...原创 2018-02-28 22:12:08 · 768 阅读 · 0 评论 -
selenium调用javascript
webdriver提供了调用javascript的方法execute_script()。举例说明from selenium import webdriverfrom time import sleepdriver = webdriver.Chrome()driver.get("http://www.baidu.com")driver.set_window_size(600, 600)...原创 2018-02-28 22:41:55 · 909 阅读 · 0 评论 -
selenium-python读取txt格式文件
python提供了几种读取txt文件的方式:1.read():读取整个文件2.readline():读取一行数据3.readlines():读取所有行的数据。在登录时,我们可以把用户名、密码放在一个txt文件中,可以通过读取该文件中的数据作为用例的测试数据。#coding=utf-8#以只读方式打开user.txt文件user = open("user.txt", 'r')#读取txt文件...原创 2018-03-08 20:23:38 · 1856 阅读 · 0 评论 -
selenium--python读取CSV文件
如果每次读取的都是一组用户数据,包含姓名、性别、年龄、身高、体重等信息,用txt文件读取起来就不容易了,这时候我们用CSV存放这些数据。读取CSV格式文件首先要导入CSV模块,通过reader()方法读取CSV文件,通过for循环遍历文件中的每一行数据。#coding=utf-8import csv#读取csv文件dates = csv.reader(open("user.csv", "r...原创 2018-03-08 20:41:50 · 1441 阅读 · 0 评论 -
selenium-python读取XML文件
在实际的自动化测试场景中,我们的测试数据是没有规则的,此时我们需要创建一个XML文件来存放我们的测试数据。首先这是我们要读取的XML文件<?xml version="1.0" encoding="utf-8" ?><info> <base> <platform>windows</platform>原创 2018-03-08 21:38:15 · 1365 阅读 · 0 评论 -
selenium鼠标事件
webdriver中将鼠标操作的方法封装在ActionChains类中,使用之前必须先导入该类。from selenium.webdriver.common.action_chains import ActionChains#定位到需要鼠标操作的元素。element = driver.find_element_by_id("xx")常见的鼠标事件包括perform()、context_click(...原创 2018-02-21 23:00:01 · 332 阅读 · 0 评论 -
selenium简单的元素操作
简单的元素操作包括:clear()、sendkeys(value)、click()、submit()、size、text、get_attribute()、is_displayed()等,接下来将一一介绍。element = driver.find_element_by_id("xx"),定义元素1.clear()用途:清除文本,如在输入用户名、密码之前,清除相应的输入框语法:element.cle...原创 2018-02-21 21:59:12 · 825 阅读 · 0 评论 -
selenium操作滚动条
from selenium import webdriverfrom time import sleepdriver = webdriver.Chrome()driver.get("http://www.baidu.com")#driver.maximize_window()sleep(10)#移动到绝对位置,x轴为横向距离,y轴为纵向距离js = "window.scroll...原创 2018-06-27 21:30:24 · 4459 阅读 · 0 评论