selenium基础(下拉菜单操作)
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()
selenium基础(下拉菜单操作)的更多相关文章
- selenium,unittest——下拉菜单操作,百度账号设置修改
#encoding=utf-8from selenium import webdriverimport time,unittest, re,sysfrom HTMLTestRunner import ...
- selenium.common.exceptions.ElementNotVisibleException: Message: element not visible处理方法:selenium针对下拉菜单事件的处理
使用Selenium爬虫时,可能会遇到一些下拉菜单,动态加载,如果直接使用find_element_by_函数会报错,显示selenium.common.exceptions.ElementNotVi ...
- selenium定位下拉菜单好文
http://www.cnblogs.com/nbkhic/archive/2011/10/23/2221726.html 定位下拉菜单
- [Selenium] 针对下拉菜单出现之后又立马消失的问题,通过Javascript改变元素的可见属性
public void clickDateDropDownButton() { SeleniumUtil.jsClick(driver, page.getDateDropdownButtonOfInv ...
- html基础 下拉菜单和文本域的基本操作
结构代码 所在城市: <select > <option selected>北京</option> <option>上海</option> ...
- 『心善渊』Selenium3.0基础 — 13、Selenium操作下拉菜单
目录 1.使用Selenium中的Select类来处理下拉菜单(推荐) 2.下拉菜单对象的其他操作(了解) 3.通过元素二次定位方式操作下拉菜单(重点) (1)了解元素二次定位 (2)示例: 页面中的 ...
- Selenium下拉菜单(Select)的操作-----Selenium快速入门(五)
对于一般元素的操作,我们只要掌握本系列的第二,三章即可大致足够.对于下拉菜单(Select)的操作,Selenium有专门的类Select进行处理.文档地址为:http://seleniumhq.gi ...
- selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等
selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...
- Python+Selenium笔记(八):操作下拉菜单
(一) Select类 Select类是selenium的一个特定的类,用来与下拉菜单和列表交互. 下拉菜单和列表是通过HTML的<select> 元素实现的.选择项是通过<sele ...
随机推荐
- JAVA java调用C++动态链接库dll,有详细过程。VS2015+Eclipse以及失败解决方案
一.新建Java工程,在Java类中声明一个native的方法 新建Java项目 在新建的项目中创建packet(包),并且在包下创建一个Class(类). 接下来,在该类中添加如下代码: ? 1 2 ...
- 在sublime上安装markdown插件(win10)
1.markdown插件安装 --ctrl+shift+p --在命令框中选中 package control:install package 选中它 按回车 --在命令框中输入 markdown, ...
- 56 Marvin: 一个支持GPU加速、且不依赖其他库(除cuda和cudnn)的轻量化多维深度学习(deep learning)框架介绍
0 引言 Marvin是普林斯顿视觉实验室(PrincetonVision)于2015年提出的轻量化GPU加速的多维深度学习网络框架.该框架采用纯c/c++编写,除了cuda和cudnn以外,不依赖其 ...
- 良田高拍仪集成vue项目
一.硬件及开发包说明: 产品型号为良田高拍仪S1800A3,集成b/s系统,适用现代浏览器,图片使用BASE64数据.开发包的bin文件下的video.flt文件需要和高拍仪型号的硬件id对应,这个可 ...
- flutter 动态申请权限
https://pub.flutter-io.cn/packages/permission_handler https://www.jianshu.com/p/fa68876fbdfd 例 Futur ...
- Thymeleaf的学习
1.引入依赖 maven中直接引入 <dependency> <groupId>org.springframework.boot</groupId> <art ...
- Aizu - ALDS1_13_A-8 Queens Problem-八皇后的路径输出
The goal of Queens Problem is to put eight queens on a chess-board such that none of them threatens ...
- MySQL数据库中,将一个字段的值分割成多条数据显示
本文主要记录如何在MySQL数据库中,将一个字符串分割成多条数据显示. 外键有时是以字符串的形式存储,例如 12,13,14 这种,如果以这种形式存储,则不能直接与其他表关联查询,此时就需要将该字段的 ...
- 高手总结CSS书写技巧
这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果.这个针对不同的浏览器写不同的CSS code的过程,就叫CSS hack ...
- cors是什么?django中怎么解决这个问题?
跨域资源共享(CORS) 是一种机制. 当一个资源从与该资源本身所在的服务器不同的域.协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求.(CORS是一种可以让你实现跨站点请求并同时阻止恶意 ...