Webdriver中比较常用的操作元素的方法:
clear() 清除输入框的默认内容
send_keys("xxx") 在一个输入框里输入xx内容
——如果输入中文,则需要在脚本开头声明编码为utf-8,然后在中文字符前面加u(如:send_keys(u"中文内容"))
click() 点击一个按钮
submit() 提交表单
WebElement接口常用方法:
size 返回元素的尺寸
——如:size = driver.find_element_by_id("id").size
text 获取元素的文本
——如:text = driver.find_element_by_id("id").text
get_attribute(name) 获得属性值
——如:attribute = driver.find_element_by_id("id").get_attribute(‘type‘)
is_displayed() 设置该元素是否用户可见
——如:isshow = driver.find_element_by_id("id").is_displayed()
ActionChains类鼠标操作的常用方法:
引入ActionChains类:from selenium.webdriver.common.action_chains import ActionChains
context_click() 右击
——如:RightClick = driver.find_element_by_id("id")
ActionChains(driver).context_click(RightClick).perform()
double_click() 双击
——如:DoubleClick = driver.find_element_by_name("name")
ActionChains(driver).double_click(DoubleClick).perform()
drag_and_drop(source, target) 鼠标拖放
——source:鼠标按下的源元素;target:鼠标释放的目标元素
——如:element = driver.find_element_by_name("name")
target = driver.find_element_by_name("name")
ActionChains(driver).drag_and_drop(element, target).perform()
move_to_element() 鼠标悬停在一个元素上
——如:above = driver.find_element_by_xpath("xpath路径")
ActionChains(driver).move_to_element(above).perform()
click_and_hold() 按下鼠标左键在一个元素上
——如:left = driver.find_element_by_name("name")
ActionChains(driver).click_and_hold(left).perform()
键盘事件:
引入Keys类包:from selenium.webdriver.common.keys import Keys
send_keys() 输入框输入内容
——如:driver.find_element_by_id("id").send_keys("XXX")
send_keys(Keys.BACK_SPACE) 向左删除一个字符 ——如:driver.find_element_by_id("id").send_keys("XXX")
send_keys(Keys.SPACE) 输入空格
——如:driver.find_element_by_id("id").send_keys(Keys.SPACE)
send_keys(Keys.CONTROL,‘a‘) ctrl+a 全选输入框的内容
——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘a‘)
send_keys(Keys.CONTROL,‘x‘) ctrl+x 剪切输入框的内容
——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘x‘)
send_keys(Keys.CONTROL,‘v‘) ctrl+v 粘贴到输入框
——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘v‘)
send_keys(Keys.ENTER) 回车代替点击
——如:driver.find_element_by_id("id").send_keys(Keys.ENTER)
send_keys(Keys.TAB) 制表键(Tab)
——如:driver.find_element_by_id("id").send_keys(Keys.TAB)
send_keys(Keys.ESCAPE) 回退键(Esc)
——如:driver.find_element_by_id("id").send_keys(Keys.ESCAPE)
send_keys(Keys.CONTROL,‘c‘) 复制
——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘c‘)
打印信息
#获得title并打印
title = driver.title
print title
#拿当前title名称进行预期比较
if title == u"百度一下,你就知道":
print "title yes!"
else:
print "title no!"
#获得当前URL并打印
url = driver.current_url
print url
等待时间
#导入 WebDriverWait 包
from selenium.webdriver.support.ui import WebDriverWait
#导入 time 包
import time
sleep() 设置固定等待时间
——如:time.sleep(5) #等待5秒
implicitly_wait() 等待一个元素被发现,或一个命令完成,超出了设置时间则抛出异常
——如:driver.implicitly_wait(30)
driver.find_element_by_id("id").click()
WebDriverWait() 在设置时间内,默认每隔一段时间检测检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
——driver:WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)
——timeout:最长超时时间,默认以秒为单位
——poll_frequency:休眠时间的间隔(步长)时间,默认为 0.5 秒
——ignored_exceptions:超时后的异常信息,默认情况下抛 NoSuchElementException 异常
——如1:element = WebDriverWait(driver, 10).until(lambda x : x.find_element_by_id("id"))
element.send_keys("selenium")
——如2:element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“Id”))
is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())
WebDriverWai()一般由 unit()或 until_not()方法配合使用:
——until(method, message=’’)
调用该方法提供的驱动程序作为一个参数,直到返回值不为 False。
——until_not(method, message=’’)
调用该方法提供的驱动程序作为一个参数,直到返回值为 False。
定位一组对象
#选择当前页面上所有tag name为input的元素
inputs = driver.find_elements_by_tag_name(‘input‘)
#从中过滤出type为checkbox的元素,并勾选上
for input in inputs:
if input.get_attribute(‘type‘) == ‘checkbox‘:
input.click()
#使用CSS定位选择所有type为checkbox的元素,并勾选上
checkboxes = driver.find_elements_by_css_selector(‘input[type=checkbox]‘)
for checkbox in checkboxes:
checkbox.click()
#把最后一个checkbox的勾去掉 pop()为空则是最后一个
driver.find_elements_by_css_selector(‘input[type=checkbox]‘).pop().click()
分享到:
相关推荐
webtable类-对于页面中列表含有table的,获取元素对象的方法类
从最简单的Web浏览器的登录界面开始,登录界面如下: 进行Web页面自动化测试,对页面上的元素进行定位和操作是核心。而操作又是以定位为前提的,因此,对页面元素的...对应于webdriver中的定位方法分别是: driver.f
使用Selenium自带的API操作Select元素时页面可能出现上移或遮挡,导致元素操作失败; 介于此问题,可以使用JQuery来操作Select元素,具体实现见附件。
selenium2 webdriver的介绍 selenium2 webdriver的配置安装 selenium2 webdriver的基本操作 selenium2 webdriver使用技巧 ……
该项目包含一个Gradle插件,该插件可下载特定于构建所运行的操作系统的WebDriver二进制文件。 该插件还配置了构建的各个部分以使用下载的二进制文件。 安装 有关安装说明,请参阅。 用法 扩展属性 该插件通过名为...
谷歌浏览器与相对应的webdriver,webdriver需要放在 “C:\Program Files (x86)\Google\Chrome\Application”下
本书是一本从入门到精通模式的Selenium WebDriver实战经验分享书籍。全书共分为四个部分:第1部分基础篇主要讲解自动化测试...第4部分为常见问题和姐解决办法,讲解了WebDriver使用过程中的常见疑难问题和解决办法。
SeleniumIDE中录制的selectFrame、selectWindow命令在Junit中不支持,那么只能使用webdriver自带的命令,如下列: 1.定位到一个frame driver.switchTo().frame("menuFrame"); 2.从一个frame切换到另一个frame,如:...
很好的WebDriver Xpath Css 元素识别参考 http://www.techques.com/question/1-8076659/Selenium-WebDriver-Issue-with-By.CSSSelector http://blog.csdn.net/expect88/article/details/8279435
Selenium WebDriver + ReportNG 中文乱码问题解决方案。
3.2 如何对页面元素进行操作 8 3.2.1 输入框(text field or textarea) 8 3.2.2 下拉选择框(Select) 9 3.2.3 单选项(Radio Button) 9 3.2.4 多选项(checkbox) 10 3.2.5 按钮(button) 10 3.2.6 左右选择框 11 3.2.7...
WebDriver封装的一些方法
wait = Selenium::WebDriver::Wait.new(:timeout => 3) wait.until { driver.find_element(:id => cheese).displayed? } 隐性等待: driver = Selenium::WebDriver.for :firefox driver.manage.timeouts....
为了更好地学习WebDriver的八种定位元素的方式,我们使用附件中的注册页面来练习自动化脚本的设计。 博文链接:https://blog.csdn.net/weixin_44679832/article/details/103807698
VB6版WebDriver实验,压缩包中有技术文档《WebDriver原理及实验》《WebDriver命令编程手册(英文版、中文机翻版)》,代码演示的功能有:操作浏览器自动打开百度、搜索mp3,获得网页源码,获得网页标题,网页截图,...
支持网页上哪些元素? watir-webdriver支持所有的HTML元素 运行模式是什么? Watir-WebDriver是基于ruby开发web驱动框架 double_click 双击事件 ie .sikuli_image(:image=>"1.png").double_click right_click 右击...
精通Selenium WebDriver 3.0,第二版 这是Packt发行的的代码库。 通过掌握Selenium WebDriver来提高自动检查的性能和可靠性 这本书是关于什么的? Mastering Selenium 3.0 WebDriver的第二版首先向您展示如何使用...
在Selenium WebDriver中使用By.Xpath快速定位页面元素,实现多属性定位一个元素。
个人最近开始学习Selenium,但发现对应python的有用的资料奇少无比,于是 自己努力收集并整理了一些资料 学会搭建环境后的同学,建议先抛弃其他一切资料,先看一遍这个python资料,保证收益匪浅,基本上可以动手做...
Selenium WebDriver 学习笔记 API大全 中文API 元素 操作大全