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

原创 2015年07月08日 14:27:36

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

对于第一种类型的下拉框一般的处理是两次点击,第一点击弹出下拉框,第二次点击操作元素。第二种我们可以使用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’的下拉项。


版权声明:本文为博主原创文章,欢迎转赞,但请保留作者署名。

相关文章推荐

Spider网络爬虫学习——通过Get、Post方法直接抓取网页内容

网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。...

Java基础笔记整理---【08】面向对象程序设计-包、继承、访问权限

java 工程目录: 1.src 源文件目录,存放java源代码的目录 2.bin 目录:存放由java原码编译好的class文件 3.package 不能以java.开...

selenium webdriver学习(八)------------如何操作select下拉框

下面我们来看一下selenium webdriver是如何来处理select下拉框的,以http://passport.51.com/reg2.5p这个页面为例。这个页面中有4个下拉框,下面演示4种选...

Selenium-webdriver系列教程(9)——如何操作select下拉框

在selenium-webdriver中定位select list的方法比较简单,用id和name等属性可以很方便的将select给找出来,但是怎么去选择下拉框中的某一项呢? 思路是这样的,首先定位...

Selenium学习笔记之012:处理下拉框

处理下拉框 switch_to_alert() accept()

【selenium学习笔记】webdriver对页面元素的操作

定位元素只是第一步,操作元素才能做成自动化测试。 webdriver 中比较常用的操作元素的方法有下面几个: clear 清除元素的内容,如果可以的话send_keys 在元素上模拟按键输...

【selenium学习笔记】webdriver操作浏览器

测试工作中,对浏览器的操作无而非就是: 最大化窗口设置窗口大小在不同页面间前进和后退 这三种比较简单,直接上代码: # 导入webdriver from selenium import webd...

Selenium_WebDriver下拉框练习_Java

下拉选择框是常见的WEB页面元素,一般的下拉框tagName为Select,还是以某财BBS为例,它的下拉框源码如下所示,这个下拉框一开始只显示省份选择,选择完之后才会显示属于该省的城市的选择框。...

selenium_webdriver(python)下拉列表、下拉框和js弹窗警告处理

百度搜索设置下拉框操作: #coding=utf-8 from selenium import webdriver import os,time driver= webdriver.Firefox(...

selenium webdriver对下拉框的处理

selenium webdriver 对下拉框的处理
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Selenium学习笔记】webdriver操作下拉框
举报原因:
原因补充:

(最多只允许输入30个字)