selenium基础(下拉菜单操作)

select/option元素:

1.触发下拉列表出现

2.等待下拉列表中的元素出现,然后进行选择元素即可。

select/option元素:

下拉框操作-Select类
selenium提供Select类来处理select/option

1.引入

from selenium.webdriver.support.ui import Select

2.创建Select对象,传入元素

ele = driver.find_element_by_xpath(元素定位表达式)
s = Select(ele)

3.选择下拉列表值:

s.select_by_value(value值) #通过value
s.select_by_index(index) #通过下标
s.select_by_visible_text(文本') #通过文本

例:百度设置-高级搜索-下拉框

from selenium import webdriver
from selenium.webdriver.support.ui import Select#select类,下拉菜单使用
from selenium.webdriver.support.wait import WebDriverWait#等待时间包,在限定时间内查找元素
from selenium.webdriver.common.action_chains import ActionChains#鼠标操作包
from selenium.webdriver.common.keys import Keys#键盘操作包
import time#时间包
import unittest#单元测试包 driver=webdriver.Firefox()
driver.get('https://www.baidu.com')
above=driver.find_element_by_link_text('设置')#找到“设置”按钮
ActionChains(driver).move_to_element(above).perform()#将鼠标放置到“设置”按钮上
WebDriverWait(driver,10).until(lambda a:a.find_element_by_link_text('高级搜索'))#10秒钟之内找到元素
driver.find_element_by_link_text('高级搜索').click()
time.sleep(3)
#找到下拉框并找到要选择的元素
Select(driver.find_element_by_name('ft')).select_by_value('pdf')#通过value进行定位
time.sleep(3)
ele=driver.find_element_by_name('ft')
s=Select(ele)
s.select_by_index(6)#通过下标进行定位
time.sleep(3)
s.select_by_visible_text('微软 Word (.doc)')#通过文本内容进行查找
time.sleep(2)
driver.quit()

最新文章

  1. 一种简单的md5加盐加密的方法(防止彩虹表撞库)
  2. python之OS模块详解
  3. Android_demo之生成二维码
  4. Velocity模板引擎语法
  5. 用html/css做的一个登入小界面(图片瀑布流)
  6. Following Orders
  7. 自定义控件(视图)2期笔记09:自定义视图之继承自ViewGroup(仿ViewPager效果案例)
  8. SuperSocket快速入门(一):什么是SuperSocket
  9. 转: requestAnimationFrame,Web中写动画的另一种选择
  10. “System.FormatException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理 其他信息: 该字符串未被识别为有效的 DateTime。
  11. 使用httperrequest,模拟发送及接收Json请求
  12. thunk技术
  13. 深入tornado中的http1connection
  14. 第三方开源动画库EasyAnimation中一个小bug的修复
  15. EMI优化
  16. BringWindowToTop完美激活窗口与置顶
  17. leetcode969
  18. 二本毕业,我是如何逆袭成为BAT年薪40W的Java工程师的?
  19. 【做题】POJ3469 Dual Core CPU——第一道网络流
  20. jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能

热门文章

  1. 网站数据采集|埋点设计|nginx日志文件
  2. NX二次开发-UFUN拾取屏幕位置UF_UI_specify_screen_position
  3. Java-javaFx库运用-自动弹跳的球
  4. 在WinDBG中查看函数的反汇编代码的命令
  5. JVM内核-原理、诊断与优化学习笔记(二):JVM运行机制
  6. 创建第一个spirngmvc小项目
  7. python调用tushare获取沪股通、深股通成份股数据
  8. 【转】tomcat系统架构分析
  9. ld.so和ld-linux.so* :动态链接器/加载器(转)
  10. sql (9) COUNT