关闭

【Selenium学习笔记】webdriver操作下拉框

6308人阅读 评论(0) 收藏 举报
分类:

网页上常见的下拉框有两种:一种是需要点击一下下拉框,才能弹出下拉列表的下拉框;还有一种是不需要点击,鼠标移动到下拉框上,就自动弹出下拉列表。

对于第一种类型的下拉框一般的处理是两次点击,第一点击弹出下拉框,第二次点击操作元素。第二种我们可以使用move_to_element()进行操作。


不需要点击的下拉框:

百度首页右上角的“设置”就是这样的下拉框。只需要把鼠标移动到上面,就会列出可选的下拉列表。

对于这种类型的下拉框,我们采用webdriver中的鼠标事件进行操作。webdriver中对鼠标的操作包括单机、右击、双击、拖动等,这些操作都封装在ActionChains类中。后面我们会专门针对这些事件进行总结,这里先专注对鼠标移动的操作。

先上源代码:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('http://ww.baidu.com')
driver.maximize_window()


setting = driver.find_element_by_link_text(u'设置')
webdriver.ActionChains(driver).move_to_element(setting).perform()
driver.find_element_by_link_text(u'高级搜索').click()
移动鼠标的操作首先通过webdriver实例化一个ActionChains类的对象,用该对象调用move_to_element() 方法将鼠标悬停在一个元素上,perform是用来执行move_to_element这个动作的。

需要点击的下拉框:

webdriver 对于一般的下拉框处理起来也相当简单,要想定位下拉框中的内容,首先需要定位到下拉框,也就是需要两次定位。

以百度“高级搜索”设置页面中的“时间:限定要搜索的网页的时间是”下拉列表为例,


我们想定位到其中的“最近一月”,我们可以这样做:

time_setting = driver.find_element_by_id('adv-setting-4')
time_setting.find_element_by_xpath("//option[@value='30']").click()
先定位到id为adv-setting-4的下拉框,然后在定位到value=‘30’的下拉项。


2
0
查看评论

selenium之 下拉选择框Select

今天总结下selenium的下拉选择框。我们通常会遇到两种下拉框,一种使用的是html的标签select,另一种是使用input标签做的假下拉框。后者我们通常的处理方式与其他的元素类似,点击或使用JS等。而对于前者,selenium给了有力的支持,就是Select类。我们要进行试验的网站:http:...
  • huilan_same
  • huilan_same
  • 2016-08-18 23:52
  • 19074

Selenium_WebDriver下拉框练习_Java

下拉选择框是常见的WEB页面元素,一般的下拉框tagName为Select,还是以某财BBS为例,它的下拉框源码如下所示,这个下拉框一开始只显示省份选择,选择完之后才会显示属于该省的城市的选择框。<select id="resideprovince" class="...
  • sophie2805
  • sophie2805
  • 2015-07-06 17:44
  • 3749

java selenium 选择下拉框遇到的坑

Java selenium 的下拉框 一般情况下,selenium driver选择下拉框的选项(html是标签)可以通过Select这个类,进行选择。三种方法: new Select(driver.findElement(By.id(“ROF6”))).selectByVisibleTex...
  • u012387322
  • u012387322
  • 2017-03-29 11:27
  • 2010

selenium处理select标签的下拉框

1.div下拉框的处理div下拉框与其他元素一样,没有啥特殊的,只需要用xpath来定位即可。 如:现在我们来通过脚本选择下拉列表里的 $10.69#先定位到下拉框 m=driver.find_element_by_id("ShippingMethod") #再点击下拉框下的选...
  • MTbaby
  • MTbaby
  • 2017-07-04 16:42
  • 616

Selenium——如何处理下拉框

之前使用QTP做了一些简单的自动化测试,研究了一下操作非正常下拉框不能被录制问题,发现如果是正常下拉框可以被录制,比如在某个下拉框下选择中文,脚本为'Browser("Log in").Page("Page").WebList("LoginL...
  • wx19900503
  • wx19900503
  • 2014-09-14 19:38
  • 4079

selenium定位select下拉框元素

 请选择类型 百度 支付宝 获取方法:先定位select元素再定位下拉框中option的下标,定位需要的下拉框值。代码示例如下: WebElement sourceCategory = chrome.findElement( By.id("selSourceCat...
  • Lily_XL
  • Lily_XL
  • 2016-06-24 00:27
  • 5264

WebDriver 怎么操作select下拉框

import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.Firefox...
  • wanglha
  • wanglha
  • 2014-11-03 13:41
  • 2900

selenium webdriver对下拉框的处理

selenium webdriver 对下拉框的处理
  • woiangaoiowe
  • woiangaoiowe
  • 2017-03-15 16:56
  • 739

Selenium-Webdriver(python) (十) --- 下拉框的选择

HTML源码:        请选择银行     温州银行     南京银行     金华银行 webdriver脚本: driver.find_ele...
  • lilinfangf
  • lilinfangf
  • 2013-12-18 19:47
  • 5390

Selenium + Webdriver 学习(六) 自动选择、检查下拉列表。

下面我们来看一下selenium webdriver是如何来处理select下拉框的,以Apple注册页面为例。
  • Anniejunyan
  • Anniejunyan
  • 2014-09-16 10:15
  • 6650
    个人资料
    • 访问:905935次
    • 积分:7702
    • 等级:
    • 排名:第3304名
    • 原创:159篇
    • 转载:39篇
    • 译文:2篇
    • 评论:38条
    联系方式
    2010-2013,就职中科大洋,视音频编解码底层测试;
    2013-2015,就职爱迪德,视音频加密系统测试;
    2015-2016,就职猎豹移动,新闻推荐系统服务器端测试;
    2016-至今,就职蔚来汽车,车联网系统测试

    有对自动化测试、持续集成感兴趣的朋友,可以和我交流。
    最新评论