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. PAT Basic 1010 一元多项式求导 (25 分)(活用stringstream,昨天学习的)

    设计函数求一元多项式的导数.(注:x​n​​(n为整数)的一阶导数为nx​n−1​​.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数).数字间以空格分隔. ...

  2. 个人第二次作业-c++实现四则运算生成器

    c++实现四则运算生成器 GIT地址 Link Git用户名 Redwarx008 学号后五位 61128 博客地址 Link 作业链接 Link 环境配置 使用VS2019社区版,一键式安装,这里不 ...

  3. Linux知识点拾遗-磁盘UUID

    查看磁盘UUID 方法1 ls -l /dev/disk/by-uuid example: [root@dplinux ~]# ll /dev/disk/by-uuid/ total 0 lrwxrw ...

  4. [USACO12DEC]第一!First!(字典树,拓扑排序)

    [USACO12DEC]第一!First! 题目描述 Bessie has been playing with strings again. She found that by changing th ...

  5. IP地址转二进制

    例如216这个数 216 = 1 * 128 +1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 0 * 2 + 0 * 1 提取乘号之前的数字我们得到所代表的二进 ...

  6. springboot中常用注解总结

    1.@RestController(组合注解):标注在类上,等价于@Controller和@Responsebody @Controller:将该类标记为Controller层的类,并且注入到Spri ...

  7. bzoj2959: 长跑 LCT+并查集+边双联通

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=2959 题解 调了半天,终于调完了. 显然题目要求是求出目前从 \(A\) 到 \(B\) 的可 ...

  8. CF547E Mike and Friends

    子串看起来就很SuffixStructures 于是上SAM 本来想着直接LCT 后来发现没法串定位(暴力匹配复杂度不对) 然后就离线吧,先建出来然后链加子树和,树剖就odk. 其实更直接的套路是线段 ...

  9. p6spy工具的使用

    p6spy工具的使用.1.导入p6spy的jar包2.配导p6spy.porpert3.改写mybatis.xml(配置jdbc)

  10. ionic使用自定义icon

    参考文档:https://www.jianshu.com/p/5346fee9fd80  angular+ionic 自定义图标 注意: 这里不用name 用class类名显示出来 最后出来图标是个小 ...