一、前言

总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询;

二、直接定位(XPath)

使用Firebug找到需要定位到的元素,直接右键复制XPath,使用find_element_by_xpath定位;

driver = webdriver.Firefox()

driver.get("https://www.baidu.com/")

driver.find_element_by_xpath().click()

三、间接定位(Select模块)

页面HTML源码如下所示:

每页显示10条

每页显示20条

每页显示50条

python+selenium 代码如下:

# coding:utf-8

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.support.select import Select

import time

driver = webdriver.Chrome()

driver.get("https://www.baidu.com/")

driver.implicitly_wait(20)

mouse = driver.find_element_by_link_text("设置")

ActionChains(driver).move_to_element(mouse).perform()

driver.find_element_by_link_text("搜索设置").click()

time.sleep(2)

# 实例化select

s = Select(driver.find_element_by_id("nr"))

# 定位选项

s.select_by_value("20") # 选择value="20"的项:通过value属性

time.sleep(2) #为了明显的看出变化

s.select_by_index(0) # 选择第一项选项:通过选项的顺序选择,第一个为 0

time.sleep(2) #为了明显的看出变化

s.select_by_visible_text("每页显示50条") # 选择text="每页显示50条"的值,即在下拉时我们可以看到的文本

四、总结

Select提供了三种选择方法:

select_by_index(index) ——通过选项的顺序,第一个为 0

select_by_value(value) ——通过value属性

select_by_visible_text(text) ——通过选项可见文本

Select提供了四种方法取消选择:

deselect_by_index(index)

deselect_by_value(value)

deselect_by_visible_text(text)

deselect_all()

Select提供了三个属性方法提供信息:

options ——提供所有的选项的列表,其中都是选项的WebElement元素

all_selected_options ——提供所有被选中的选项的列表,其中也均为选项的WebElement元素

first_selected_option ——提供第一个被选中的选项,也是下拉框的默认值

通过Select提供的方法和属性,我们可以对标准select下拉框进行任何操作,但是对于非select标签的伪下拉框,需要使用XPath定位;

以上这篇python+selenium select下拉选择框定位处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2019-08-24

python select模块安装_python+selenium select下拉选择框定位处理方法相关推荐

  1. js下拉 selenium_selenium的下拉选择框

    今天总结下selenium的下拉选择框.我们通常会遇到两种下拉框,一种使用的是html的标签select,另一种是使用input标签做的假下拉框. 后者我们通常的处理方式与其他的元素类似,点击或使用J ...

  2. Bootstrap 表单控件一(单行输入框input,下拉选择框select ,文本域textarea)

    单行输入框,常见的文本输入框,也就是input的type属性值为text.在Bootstrap中使用input时也必须添加type类型,如果没有指定type类型,将无法得到正确的样式,因为Bootst ...

  3. html下拉选择框箭头改为年,CSS自定义select下拉选择框的样式(不用其他标签模拟)...

    今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...

  4. layui实现select下拉选择框组件(含代码、案例、截图)

    layui实现select下拉选择框组件(含代码.案例.截图) 案例 · 效果图: 全部代码如下: <!DOCTYPE html> <html> <head>< ...

  5. 自定义html下拉选择框,CSS自定义select下拉选择框的样式(不用其他标签模拟)

    今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...

  6. Java selenium操作下拉滚动条的几种方法

    数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java ...

  7. 4.下拉选择框,弹出框。滚动条,(frame切换、多窗口切换,很重要,常用)等等,面试重要

    文章目录 target 下拉选择框 弹出框-- driver.switch_to.alert 滚动条 frame切换-- 重要 多窗口切换 截屏 验证码 cookie target 下拉选择框--se ...

  8. 下拉选择框、弹出框、滚动条操作

    目标 1. 掌握下拉选择框的操作方法 2. 掌握处理弹出框的方法 3. 掌握调用JavaScript方法 1. 下拉选择框操作 说明:下拉框就是HTML中<select>元素: 1.1 如 ...

  9. jquery.chosen.js下拉选择框美化插件项目实例

    由于之前使用的bootstrap-select插件是建立在bootstrap基础上的,实际使用到项目中的时候,与我们使用的ace-admin(基于bootstrap)存在样式冲突,导致下拉框的样式发生 ...

最新文章

  1. DOS MD命令三种用法
  2. Tool之ping:如何使用ping命令检测电脑网络故障图文教程
  3. django_rest_framework之GenericAPIView(一)源码讲解
  4. 请教 Discuz syscache 中一段cache 的意思
  5. 一种简单定义FourCC常量的方法 (C/C++)
  6. MISC-BUUCTF-9题-九连环-佛系青年等
  7. linux基础简介,Linux简介基础
  8. 【Qt调试技巧】Profile配置使用及一些坑
  9. python高阶函数教学_Python 简明教程 --- 16,Python 高阶函数
  10. 网络恶意营销账号猖獗,国家网信办出手了
  11. 常用设计模式——创建型
  12. 欧盟百万欧元悬赏开源软件漏洞惹争议,被评本末倒置
  13. rfid sim卡 android,手机专用SIM卡的非接触移动支付技术标准之争:NFC vs RFID
  14. xp系统dns服务器有问题,xp系统dns错误的恢复方法
  15. SCI期刊分区-JCR分区 中科院分区
  16. ArcGIS中裁剪(clip)出现000117错误的解决办法
  17. ubuntu显示隐藏文件
  18. 奥比3d 摄像头 android,Android系统下如何允许奥比中光3D传感摄像头USB设备访问
  19. 曲速未来 发布:新基建下,区块链将急速发展
  20. wince6下载地址

热门文章

  1. 归并排序-python
  2. 使用这样的方法代替注意力机制
  3. 如何固化预训练模型的参数
  4. requests+正则爬取猫眼电影前100
  5. 阿里云推荐引擎使用教程
  6. 小米今日正式进军越南市场 借助合作方铺渠道分销
  7. 十八、可以输出文字了
  8. 从线上教育的如火如荼,反思传统培训行业的未来发展
  9. MysqL数据库密码的管理
  10. Linux文件夹分析