`

Webdriver中比较常用的操作元素的方法:

阅读更多
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()
分享到:
评论

相关推荐

    WebDriver封装的一些方法

    在提供的代码片段中,定义了一个名为`WebDriverUtil`的帮助类,该类封装了一系列与WebDriver操作相关的实用方法。这些方法主要针对XPath访问进行了优化,旨在简化测试脚本编写流程。 #### 三、具体方法介绍 1. **...

    webdriver元素定位笔记

    要想使用 WebDriver 进行自动化测试,需要首先定位到网页上的元素,然后才能对其进行操作。元素定位是 WebDriver 中非常重要的一步骤。 在 WebDriver 中,元素定位可以通过 XPath、CSS 选择器等方式来实现。XPath ...

    Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)

    从最简单的Web浏览器的登录界面开始,登录界面如下: 进行Web页面自动化测试,对页面上的元素进行定位和操作是核心。而操作又是以定位为前提的,因此,对页面元素的...对应于webdriver中的定位方法分别是: driver.f

    python +selenium webdriver 学习借鉴

    findElement 方法是 Selenium WebDriver 中的一个基本方法,用于定位单个元素。findElement 方法返回一个基于指定查询条件的 WebElement 对象,如果没有找到符合条件的元素,则抛出异常。 使用 findElements 方法...

    WebDriver-xpath和WebDriver-Css学习

    XPath和Css选择器是WebDriver中两种常用的选择元素方法。 XPath(XML Path Language)是一种在XML文档中查找信息的语言。在WebDriver中,XPath用于定位HTML元素,它可以根据元素的属性、值、位置等多种条件进行精准...

    IE Webdriver (Python)

    在 Python 中使用 IE WebDriver 首先需要安装 Selenium 库,这是 Python 中用于浏览器自动化的主要库。你可以通过 pip 来安装: ```bash pip install selenium ``` 接着,你需要下载与你系统兼容的 `...

    控制浏览器大小,控制浏览器前进后退刷新操作,webdriver的常用方法以及css高级语法

    组合选择器则能让你更精确地定位元素,例如,同时具有`class="active"`和`data-type="button"`的元素: ```css div.active[data-type="button"] { font-weight: bold; } ``` 在自动化测试中,这些CSS高级语法可以...

    selenium自动化文档

    Selenium 自动化文档 Selenium 是一个流行的自动...以上是 Selenium 自动化文档的详细知识点总结,涵盖了元素定位方法、WebDriver 的基本操作、元素操作、XPath 定位器、CssSelector 定位器和层级定位等方面的知识点。

    Selenium WebDriver 所需jar包

    1. **WebDriver接口**:Selenium WebDriver的核心是WebDriver接口,它定义了一系列方法来控制浏览器。通过实现这个接口,开发者可以编写代码与不同的浏览器进行交互,如打开网页、点击元素、填写表单等。 2. **...

    webdriver实用指南python版本.pdf

    - **定位Frame中的元素:** Frame或iframe是网页中嵌入的另一个页面,需要先切换到Frame内才能定位其中的元素。 - **示例代码:** ```python frame = driver.find_element_by_id('frame_id') driver.switch_to....

    WebDriver xpath css selector

    根据提供的文件内容,本文将详细解释WebDriver、xpath、css selector的使用以及如何在自动化测试中选择页面元素。首先,我们需要理解WebDriver是一个自动化测试工具,用于Web应用程序的测试。它可以通过各种编程语言...

    Selenium-Webdriver系列教程

    Selenium-Webdriver系列教程旨在引导读者理解和掌握Selenium 2.0,即WebDriver的核心概念、常用方法和高级功能。Selenium 1.x虽然已被弃用,但由于丰富的资源和历史积累,仍然被许多人广泛使用。然而,随着Selenium ...

    python+webdriver api

    在本文中,我们深入学习Python环境下使用webdriver API进行Web自动化测试的知识,涵盖浏览器操作、元素定位和操作等关键概念。 1. **webdriver API与Python的结合使用**: - **Python webdriver API**:webdriver ...

    selenium webdriver基于python源码案例.zip

    Python是Selenium WebDriver常用的一种绑定语言,因为其语法简洁、易读性强,非常适合编写测试脚本。 本教程可能涵盖以下几个核心知识点: 1. **Selenium WebDriver基本概念**:讲解Selenium WebDriver的工作原理...

    selenium webdriver

    以上是对 Selenium WebDriver 的基本介绍及其常用操作方法。通过这些知识点的学习,可以有效地利用 Selenium WebDriver 实现 Web 测试自动化。随着实践经验的积累,还可以探索更多的高级功能和技术细节。

    selenium webdriver+python基本操作.docx

    ### Selenium WebDriver + Python 基本操作详解 #### 一、概述 Selenium WebDriver 是一个自动化测试工具,它可以通过模拟真实用户的操作来进行自动化测试。结合 Python 的强大功能,可以实现非常复杂的网页自动化...

    Webdriver Cheat Sheet by灰蓝.pdf

    ###知识点7:Webdriver的操作元素 Webdriver可以对页面中的元素进行各种操作,如点击、输入、提交表单、清除输入、获取元素的text、判断元素是否显示、判断元素是否可用、判断元素是否被选中等。例如,element=...

    python+webdriver配置

    Python与WebDriver的结合是自动化测试领域中非常常见的一种技术,主要用于网页自动化操作。在这个配置过程中,我们将探讨Python的开发环境搭建、Python包管理、WebDriver的安装以及如何编写和运行Selenium脚本。 ...

Global site tag (gtag.js) - Google Analytics