python+selenium下拉列表option对象操作方法二
options = driver.find_elements_by_tag_name('option') #获取所有的option子元素
options[2].click() #获取第三个元素
for i in range(len(options)): #选择value值为python的子项
if options[i].get_attribute('value') == 'python':
options[i].click()
break
for i in range(len(options)): #选择text值为python的子项
if options[i].text == 'python':
options[i].click()
break
for i in range(len(options)):
if options[i].get_attribute('selected'):
print options[i].get_attribute('text') #返回当前被选子项的text内容
print options[i].get_attribute('value') #返回当前被选子项的value内容
break
=========================================================================================== from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep driver = webdriver.Firefox()
driver.get('http://www.baidu.com') #-------------------------------------------------------------------------------------- link = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(link).perform() #鼠标悬停在上面
sleep(2) driver.find_element_by_class_name("setpref").click() # 打开搜索设置
sleep(2)
#-------------------------------------------------------------------------------------------------- options = driver.find_elements_by_xpath('//*[@id="nr"]/option') options[1].click() #第二个子项被选中
sleep(2) options[2].click() #第三个子项被选中
sleep(2) options[0].click() #第一个子项被选中
sleep(2) #----------------------------------------------------------------------- print(options[0].text)
print(options[1].text)
print(options[2].text) #---------------------------------------------------------------------------- print('----------------------001') for i in range(len(options)): #选择value值为python的子项 if options[i].get_attribute('value') == '20' : options[i].click()
print(options[i].text) break #---------------------------------------------------------------------------- driver.quit() 执行结果:
每页显示10条
每页显示20条
每页显示50条
----------------------001
每页显示20条
python+selenium下拉列表option对象操作方法二的更多相关文章
- python+selenium下拉列表option对象操作方法一
参考官方文档:https://selenium.dev/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.select ...
- 基于python+selenium的框架思路(二)
一.如下是用例格式,第一个sheet为用例汇总,后面的sheet为具体的用例步骤 sheet:测试用例 sheet:搜索 sheet:刘江博客验证 二.读取该excel文件取出关键字等信息,作为关键字 ...
- Python+Selenium学习--操作测试对象
场景 前面已经讲解了如果定位对象,定位之后需要对这个对象进行操作.是鼠标点击还是键盘输入,取决于我们定位的对象缩支持的操作. webdriver中比较常用的操作元素的方法有下面几个: clear ...
- python初级(302) 6 对象(二)
一.复习 1.什么是对象 2.什么是类 3.什么是属性 4.什么是方法 5.创建一个dog类,dog的属性有颜色,方法有汪汪叫 随堂练习: class Dog: def __init__(self, ...
- python+selenium的WebElement对象操作
webelement对象操作 webelement对象是selenium中所有元素的父类,也就是webelement对象拥有的方法,其它元素对象都会有: 只是不同的对象在调用特定方法时,效果是不一样的 ...
- Python+Selenium - 下拉列表处理
下拉列表分两种:select下拉表和非select下拉表. 1.select下拉列表 如下图元素代码展示 可用Select类处理 from selenium.webdriver.support.sel ...
- python selenium中Excel数据维护(二)
接着python里面的xlrd模块详解(一)中我们我们来举一个实例: 我们来举一个从Excel中读取账号和密码的例子并调用: ♦1.制作Excel我们要对以上输入的用户名和密码进行参数化,使得这些数据 ...
- python+selenium文本框对象以及按钮对象操作
文本框对象 from selenium import webdriverfrom time import sleep driver = webdriver.Firefox() # 指定和打开浏览器ur ...
- python+selenium的web自动化测试之二(Jenkins自动执行)
上一篇需要手工去到cmd下执行脚本,不符合自动化测试的终极目标.现我们集成到Jenkins上,通过Jenkins一键执行或定时任务执行. 参考: https://www.cnblogs.com/ces ...
随机推荐
- Flask【第8篇】:flask-session组件
flask-session组件 简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多 ...
- Spring Boot jpa Service层实现代码
package com.fei.service.impl; import java.util.ArrayList; import java.util.List; import javax.persis ...
- 前端面试题常考&必考之--清除浮动的方法
浮动 问题:子元素设置了float后,脱离父元素,导致父元素无法撑开?(也就是子元素的高度没有过渡到父元素) 例子: 检查元素的效果: (三种)常用的解决办法: 1>额外标签法,添加一个空的di ...
- jq元素左边距
获取页面某一元素的绝对X,Y坐标,可以用offset():var X = $(‘#DivID’).offset().top;var Y = $(‘#DivID’).offset().left; 获取相 ...
- Flink Batch SQL 1.10 实践
Flink作为流批统一的计算框架,在1.10中完成了大量batch相关的增强与改进.1.10可以说是第一个成熟的生产可用的Flink Batch SQL版本,它一扫之前Dataset的羸弱,从功能和性 ...
- Python3 实现FTP功能
目录结构: FTP_project/ ├── FTP_client │ ├── ftp_client.py │ └── __init__.py └── FTP_server ├── bin │ ...
- POJ 2229 sumset ( 完全背包 || 规律递推DP )
题意 : 给出一个数 n ,问如果使用 2 的幂的和来组成这个数 n 有多少种不同的方案? 分析 : 完全背包解法 将问题抽象==>有重量分别为 2^0.2^1.2^2…2^k 的物品且每种物 ...
- #452 Div2 Problem C Dividing the numbers ( 思维 || 构造 )
题意 : 将从 1 ~ n 的数分成两组,要求两组和的差值尽可能小,并输出其中一组的具体选数情况 分析 : 如果将这 n 个数从大到小四个一组来进行选择的话那么差值就为 0 ,然后再来考虑 n%4 ! ...
- Java——package与import
[package] <1>为了解决类的命名冲突问题,Java引入包(package)机制,提供类的多重类命名空间. <2>package作为源文件的第一条语句(缺省时指定为 ...
- 树状数组板子 x
树状数组! 参考 http://www.cnblogs.com/zzyh/p/6992148.html 洛谷 P3374 [模板]树状数组 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: ...