python之selenium
木萧芷
这个作者很懒,什么都没留下…
展开
-
(1)selenium之DOM(documet object module)
进入浏览器,F12打开代码页面,进入console1.查找元素document.getElementById(元素ID值)document.getElementByClassName(元素class值)document.getElementByTagName(标签名)document.querySelector(css表达式)document.querySelectorAll(css表...原创 2019-07-27 14:34:39 · 353 阅读 · 0 评论 -
(10)selenium之js操作
1.当你要修改元素时,以修改日历的日期选择为例,修改属性,然后传值2.js滚动条语句: execute_script(“argument[0].scrollIntoView();”,target)其中target是find_element_by_xx找到的元素对象滚动步骤是:(1)定位到元素(2)执行js语句,将元素滚动到可见区域from selenium.webdriver imp...原创 2019-07-27 14:36:56 · 234 阅读 · 0 评论 -
(11) selenium之文件上传upload
上传文件有两种情况(1)input可以直接输入路径的,那么直接调send_keys输入路径(2)非input标签要借用第三方工具:winspy,代码封装后直接调用就好import win32guiimport win32condef upload_chrome(filepath): # 一级窗口 dialog = win32gui.FindWindow("#32770"...原创 2019-07-27 14:37:06 · 476 阅读 · 0 评论 -
(9)selenium之key操作
selenium提供了比较完整的键盘操作组合键:全选,ctrl+A --> send.keys(Keys.CONTROL,“a”)复制,ctrl+C --> send.keys(Keys.CONTROL,“c”)粘贴,ctrl+V --> send.keys(Keys.CONTROL,“v”)剪切,ctrl+X --> send.keys(Keys.CONTROL...原创 2019-07-27 14:36:48 · 829 阅读 · 0 评论 -
(8)selenium之ActionChains鼠标操作
selenium的ActionChains类来完成模拟鼠标操作主要操作流程:1.存储鼠标操作2.perform()来执行鼠标操作支持操作如下:double_click 双击操作context_click 右键操作drag_and_drop 拖曳操作,然后释放按键move_to_element() 鼠标悬停from selenium.webdriver import Chr...原创 2019-07-27 14:36:37 · 169 阅读 · 0 评论 -
(7) selenium之select操作
select 下拉表单操作方法一:1.先定位到select,然后定位到option方法二:调用select方法,实例化一个对象,然后调用select_by_value方法,还有index方法,text方法,可参考源代码from selenium.webdriver import Chromefrom selenium.webdriver.support.wait import WebDri...原创 2019-07-27 14:36:23 · 645 阅读 · 0 评论 -
(6)selenium之alert弹框操作
浏览器弹出框1.定位元素,触发弹框2.等待弹框出现3.switch_to切换到浏览器弹出框,driver.switch_to.alert4.Alert提供了一系列操作方法dismiss():否;accept():是;text():获取弹框里的内容;send_keys():往弹框里输入文本from selenium.webdriver import Chromefrom sele...原创 2019-07-27 14:35:49 · 685 阅读 · 0 评论 -
(5)selenium之window切换
语法:switch_to.window()获取所有窗口后,切换到最新打开的窗口handles = browser.window_handlesbrowser.switch_to.window(handles[-1])# 窗口切换import timefrom selenium.webdriver import Chromefrom selenium.webdriver.support...原创 2019-07-27 14:35:35 · 575 阅读 · 0 评论 -
(3)selenium之三种等待
有时页面元素还没加载出来,所以需要等待等待分为强制等待time sleep(),隐性等待implicitly_wait(),显性等待WebDriverWait()1.强制等待,无法确定等待时间,等久了,效率慢,等少了,元素没出来time.sleep(2)2.隐式等待,只能用来等待元素出现browser.implicitly_wait(10)3.显式等待定时器wait = WebDr...原创 2019-07-27 14:34:59 · 227 阅读 · 0 评论 -
(4)selenium之iframe切换
iframe:一个html网页里面嵌套了另一个html页面,这个内嵌的html网页放在标签对方法一:driver.switch_to.frame(iframe_reference)iframe_reference的值:(1)iframe的name属性,(2)iframe的WebElement对象,(3)iframe的下标(当前页面第几个iframe)方法二:frame_to_be_avail...原创 2019-07-27 14:35:23 · 150 阅读 · 0 评论 -
(2)selenium常用元素定位
八种元素定位:1.chrome定位工具(1)打开浏览器,按F12弹出开发者工具选项,选择elements(2)鼠标单击最左边箭头,滑动到你要操作的元素,单击一下(3)对应元素会有深蓝色背景2.ID定位(唯一)id js ==> getElementById(“kw”),id是唯一driver.find_element_by_id("kw")一种情况除外:有id的属性,也不...原创 2019-07-27 14:34:49 · 151 阅读 · 0 评论 -
pytest之parameterize参数化
在Unittest里使用DDT装饰器进行数据驱动测试,相对应的,在Pytest里会使用parameterize装饰器进行数据驱动。本文将围绕parameterize装饰测试类和测试方法的区别,传递单个测试数据和多个测试数据的用法,传递不同数据类型(元组,列表,字典)的区别,以及它和DDT之间的区别做一个简要介绍。一.装饰测试类和测试方法的区别1.装饰测试类2.装饰测试方法二.传递单个测试数...原创 2019-08-08 18:54:41 · 2757 阅读 · 0 评论