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对象操作方法二的更多相关文章

  1. python+selenium下拉列表option对象操作方法一

    参考官方文档:https://selenium.dev/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.select ...

  2. 基于python+selenium的框架思路(二)

    一.如下是用例格式,第一个sheet为用例汇总,后面的sheet为具体的用例步骤 sheet:测试用例 sheet:搜索 sheet:刘江博客验证 二.读取该excel文件取出关键字等信息,作为关键字 ...

  3. Python+Selenium学习--操作测试对象

    场景 前面已经讲解了如果定位对象,定位之后需要对这个对象进行操作.是鼠标点击还是键盘输入,取决于我们定位的对象缩支持的操作. webdriver中比较常用的操作元素的方法有下面几个: clear    ...

  4. python初级(302) 6 对象(二)

    一.复习 1.什么是对象 2.什么是类 3.什么是属性 4.什么是方法 5.创建一个dog类,dog的属性有颜色,方法有汪汪叫 随堂练习: class Dog: def __init__(self, ...

  5. python+selenium的WebElement对象操作

    webelement对象操作 webelement对象是selenium中所有元素的父类,也就是webelement对象拥有的方法,其它元素对象都会有: 只是不同的对象在调用特定方法时,效果是不一样的 ...

  6. Python+Selenium - 下拉列表处理

    下拉列表分两种:select下拉表和非select下拉表. 1.select下拉列表 如下图元素代码展示 可用Select类处理 from selenium.webdriver.support.sel ...

  7. python selenium中Excel数据维护(二)

    接着python里面的xlrd模块详解(一)中我们我们来举一个实例: 我们来举一个从Excel中读取账号和密码的例子并调用: ♦1.制作Excel我们要对以上输入的用户名和密码进行参数化,使得这些数据 ...

  8. python+selenium文本框对象以及按钮对象操作

    文本框对象 from selenium import webdriverfrom time import sleep driver = webdriver.Firefox() # 指定和打开浏览器ur ...

  9. python+selenium的web自动化测试之二(Jenkins自动执行)

    上一篇需要手工去到cmd下执行脚本,不符合自动化测试的终极目标.现我们集成到Jenkins上,通过Jenkins一键执行或定时任务执行. 参考: https://www.cnblogs.com/ces ...

随机推荐

  1. Linux之文件属性、权限

    Linux中的3种身份:1. owner(文件所有者) 2. group(用户组) 3. others(其他) Linux中的3中权限:1. r(可读) 2. w(可写) 3. x(可执行) * 所有 ...

  2. 逻辑卷管理器(LVM)

    一.什么是LVM? LVM(Logical Volume Manager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术.它是Linux环境下对磁盘分区进行管理的一种机制.现在不仅仅是Lin ...

  3. 如何在vue中引入图片?

    当我们在Vue.js项目中引用图片时,关于图片路径有以下几种情形: 使用一. 我们在data里面定义好图片路径 imgUrl:'../assets/logo.png' 然后,在template模板里面 ...

  4. 【NOIP2013模拟联考5】军训

    题目 HYSBZ 开学了!今年HYSBZ 有n 个男生来上学,学号为1-n,每个学生都必须参加军训.在这种比较堕落的学校里,每个男生都会有Gi 个女朋友,而且每个人都会有一个欠扁值Hi.学校为了保证军 ...

  5. python-hasattr()、getattr()、setattr()函数的使用

    python中hasattr().getattr().setattr()函数 class A(): name = 'python' def __init__(self): setattr(self._ ...

  6. 【bzoj2427】【软件安装】tarjan缩点+树形依赖背包

    (上不了p站我要死了,侵权度娘背锅) Description 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上, ...

  7. Activiti之Idea生成png图片及解决乱码问题(四)

    IDEA 工具中的操作方式 第一步:将 holiday.bpmn 文件改为扩展名 xml 的文件名称: holiday.xml修改前的 bpmn 文件,效果如下: 第二步: 在 holiday.xml ...

  8. 6.12友谊赛T4城市交通费题解

    与普通的最短路径不同的是,题目中新引入了一个计入总体的费用——城市建设费.由于城市建设费由整体的某最大值决定,导致解没有最优子结构的性质,给思维带来难度. 既然最棘手的是城市建设费,我们就对它分类讨论 ...

  9. kali的网络IP设置

    进入配置文件,配置IP leafpad /etc/network/interfaces.conf 写入如下格式的内容: /etc/network/interfaces # This file desc ...

  10. 数据库为什么使用B+树而不是B树

    B树和B+树的区别主要有两点: 在B树中,你可以将键和值存放在内部节点和叶子节点,但在B+树中,内部节点都是键,没有值.叶子节点同时存放键和值 B+树的叶子节点有一条链相连,而B+树的叶子节点各自独立 ...