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()
分享到:
相关推荐
在提供的代码片段中,定义了一个名为`WebDriverUtil`的帮助类,该类封装了一系列与WebDriver操作相关的实用方法。这些方法主要针对XPath访问进行了优化,旨在简化测试脚本编写流程。 #### 三、具体方法介绍 1. **...
要想使用 WebDriver 进行自动化测试,需要首先定位到网页上的元素,然后才能对其进行操作。元素定位是 WebDriver 中非常重要的一步骤。 在 WebDriver 中,元素定位可以通过 XPath、CSS 选择器等方式来实现。XPath ...
从最简单的Web浏览器的登录界面开始,登录界面如下: 进行Web页面自动化测试,对页面上的元素进行定位和操作是核心。而操作又是以定位为前提的,因此,对页面元素的...对应于webdriver中的定位方法分别是: driver.f
findElement 方法是 Selenium WebDriver 中的一个基本方法,用于定位单个元素。findElement 方法返回一个基于指定查询条件的 WebElement 对象,如果没有找到符合条件的元素,则抛出异常。 使用 findElements 方法...
XPath和Css选择器是WebDriver中两种常用的选择元素方法。 XPath(XML Path Language)是一种在XML文档中查找信息的语言。在WebDriver中,XPath用于定位HTML元素,它可以根据元素的属性、值、位置等多种条件进行精准...
在 Python 中使用 IE WebDriver 首先需要安装 Selenium 库,这是 Python 中用于浏览器自动化的主要库。你可以通过 pip 来安装: ```bash pip install selenium ``` 接着,你需要下载与你系统兼容的 `...
组合选择器则能让你更精确地定位元素,例如,同时具有`class="active"`和`data-type="button"`的元素: ```css div.active[data-type="button"] { font-weight: bold; } ``` 在自动化测试中,这些CSS高级语法可以...
Selenium 自动化文档 Selenium 是一个流行的自动...以上是 Selenium 自动化文档的详细知识点总结,涵盖了元素定位方法、WebDriver 的基本操作、元素操作、XPath 定位器、CssSelector 定位器和层级定位等方面的知识点。
1. **WebDriver接口**:Selenium WebDriver的核心是WebDriver接口,它定义了一系列方法来控制浏览器。通过实现这个接口,开发者可以编写代码与不同的浏览器进行交互,如打开网页、点击元素、填写表单等。 2. **...
- **定位Frame中的元素:** Frame或iframe是网页中嵌入的另一个页面,需要先切换到Frame内才能定位其中的元素。 - **示例代码:** ```python frame = driver.find_element_by_id('frame_id') driver.switch_to....
根据提供的文件内容,本文将详细解释WebDriver、xpath、css selector的使用以及如何在自动化测试中选择页面元素。首先,我们需要理解WebDriver是一个自动化测试工具,用于Web应用程序的测试。它可以通过各种编程语言...
Selenium-Webdriver系列教程旨在引导读者理解和掌握Selenium 2.0,即WebDriver的核心概念、常用方法和高级功能。Selenium 1.x虽然已被弃用,但由于丰富的资源和历史积累,仍然被许多人广泛使用。然而,随着Selenium ...
在本文中,我们深入学习Python环境下使用webdriver API进行Web自动化测试的知识,涵盖浏览器操作、元素定位和操作等关键概念。 1. **webdriver API与Python的结合使用**: - **Python webdriver API**:webdriver ...
Python是Selenium WebDriver常用的一种绑定语言,因为其语法简洁、易读性强,非常适合编写测试脚本。 本教程可能涵盖以下几个核心知识点: 1. **Selenium WebDriver基本概念**:讲解Selenium WebDriver的工作原理...
以上是对 Selenium WebDriver 的基本介绍及其常用操作方法。通过这些知识点的学习,可以有效地利用 Selenium WebDriver 实现 Web 测试自动化。随着实践经验的积累,还可以探索更多的高级功能和技术细节。
### Selenium WebDriver + Python 基本操作详解 #### 一、概述 Selenium WebDriver 是一个自动化测试工具,它可以通过模拟真实用户的操作来进行自动化测试。结合 Python 的强大功能,可以实现非常复杂的网页自动化...
###知识点7:Webdriver的操作元素 Webdriver可以对页面中的元素进行各种操作,如点击、输入、提交表单、清除输入、获取元素的text、判断元素是否显示、判断元素是否可用、判断元素是否被选中等。例如,element=...
Python与WebDriver的结合是自动化测试领域中非常常见的一种技术,主要用于网页自动化操作。在这个配置过程中,我们将探讨Python的开发环境搭建、Python包管理、WebDriver的安装以及如何编写和运行Selenium脚本。 ...