selenium--单选下拉列表

下拉选择

from selenium import webdriver
from time import sleepdriver = webdriver.Chrome()
driver.get("https://www.xxxxx.com/")
sleep(2)
driver.find_elements_by_tag_name('option')[2].click()
# 通过标签名定位到 option 标签,选择第三个,第一个下标为 0
driver.find_element_by_css_selector("[value='3']").click()
# 通过 css 定位属性定位

通过Select类定位

# 通过Select类定位
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from time import sleepdriver = webdriver.Chrome()
driver.get("http:\\www.xxxx.com")
select = Select(driver.find_element_by_css_selector("[name='CookieDate']"))
# 定位到所有的选项列表
select.select_by_index('1')  # 根据索引定位,从 0 开始
sleep(2)
select.select_by_visible_text("一年")
# 根据看的见的文本定位
select.select_by_value('3')  # 根据 value 值定位
sleep(2)
driver.quit()

 栗子;

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>下拉框</title></head>
<body><select name="fruit" size="1"><option id="peach" value="taozi">桃子</option><option id="watermelon" value="xigua">西瓜</option><option id="orange" value="juzi">橘子</option><option id="kiwifruit" value="mihoutao">猕猴桃</option><option id="matbush" value="shanzha">山楂</option><option id="litchi" value="lizhi">荔枝</option></select></body>
</html>

遍历所有选项并打印选项显示的文本和选项值

from
selenium import webdriver import unittest import timeclass Test_SelectText(unittest.TestCase):def test_getSelectText(self):url = '01.html'self.driver = webdriver.Chrome()self.driver.get(url)# 找到下拉框select = self.driver.find_element_by_name('fruit')# 找到所有的optionall_options = select.find_elements_by_tag_name('option')for option in all_options:print('选项显示的文本:', option.text)print('选项值为:', option.get_attribute("value"))# 找到一个选择一个 option.click()time.sleep(2)test1 = Test_SelectText() test1.test_getSelectText()

结果:

选项显示的文本: 桃子
选项值为: taozi
选项显示的文本: 西瓜
选项值为: xigua
选项显示的文本: 橘子
选项值为: juzi
选项显示的文本: 猕猴桃
选项值为: mihoutao
选项显示的文本: 山楂
选项值为: shanzha
选项显示的文本: 荔枝
选项值为: lizhi

通过索引定位

from selenium import webdriver
import unittest
from selenium.webdriver.support.ui import Selectclass Test_SelectText(unittest.TestCase):def test_getSelectText(self):url = '01.html'self.driver = webdriver.Chrome()self.driver.get(url)# 使用xpath定位方式获取select页面元素对象select_element = Select(self.driver.find_element_by_xpath('//select'))# 打印默认选中项的文本print(select_element.first_selected_option.text)# 获取所有选择项的页面元素对象all_options = select_element.options# 打印选项总个数print(len(all_options))if all_options[1].is_enabled() and not all_options[1].is_selected():# 通过序号选中第二个元素,序号从0开始select_element.select_by_index(1)# 打印已选中的文本txt = select_element.all_selected_options[0].textprint(txt)# 断言当前选中的文本是否是西瓜self.assertEqual(txt, '西瓜')test1 = Test_SelectText()
test1.test_getSelectText()

结果:

桃子
6
西瓜

根据文本获取

from selenium import webdriver
import unittest
from selenium.webdriver.support.ui import Selectclass Test_SelectText(unittest.TestCase):def test_getSelectText(self):url = '01.html'self.driver = webdriver.Chrome()self.driver.get(url)# 使用xpath定位方式获取select页面元素对象select_element = Select(self.driver.find_element_by_xpath('//select'))# 打印默认选中项的文本print(select_element.first_selected_option.text)# 获取所有选择项的页面元素对象all_options = select_element.options# 打印选项总个数print(len(all_options))select_element.select_by_visible_text('猕猴桃')txt = select_element.all_selected_options[0].textprint(txt)# 断言当前选中的文本是否是猕猴桃self.assertEqual(txt, '猕猴桃')test1 = Test_SelectText()
test1.test_getSelectText()

结果:

桃子
6
猕猴桃

根据value

from selenium import webdriver
import unittest
import time
from selenium.webdriver.support.ui import Selectclass Test_SelectText(unittest.TestCase):def test_getSelectText(self):url = '01.html'self.driver = webdriver.Chrome()self.driver.get(url)# 使用xpath定位方式获取select页面元素对象select_element = Select(self.driver.find_element_by_xpath('//select'))# 打印默认选中项的文本print(select_element.first_selected_option.text)# 获取所有选择项的页面元素对象all_options = select_element.options# 打印选项总个数print(len(all_options))select_element.select_by_value('shanzha')txt = select_element.all_selected_options[0].textprint(txt)# 断言当前选中的文本是否是山楂self.assertEqual(txt, '山楂')test1 = Test_SelectText()
test1.test_getSelectText()

select_element.all_selected_options属性获取的是所有被选中项的对象组成的列表对象

 

 

转载于:https://www.cnblogs.com/zouzou-busy/p/11070660.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab实现字符识别,字符识别 - MATLAB Simulink Example - MathWorks 中国

定义问题脚本 prprob 定义了一个包含 26 列的矩阵 X&#xff0c;每列对应一个字母。每列有 35 个值&#xff0c;值可能是 1&#xff0c;也可能是 0。每列(包含 35 个值)定义一个字母的 57 位图。矩阵 T 是一个 2626 的单位矩阵&#xff0c;它将 26 个输入向量映射到 26 个类。[…

批处理结束某个进程_进程调度

当计算机系统是多道程序设计系统时&#xff0c;常常会出现多个进程或线程竞争CPU的情况。如果有大于处理器数的进程(线程)处于就绪态时&#xff0c;就必须要选择下一个要执行的进程(线程)。在操作系统&#xff0c;用于选择接下来要执行的进程的程序称之为调度程序(Scheduler)&a…

动态游标for循环_数据结构系列循环链表

前面留的一个问题,后文更跟新回答单链表可以表示任意的线性关系&#xff0c;有些线性关系是循环的&#xff0c;既没有队尾元素。将单链表中的终端结点指针端由空指针改为指向头结点&#xff0c;这时的单链表形成国恒一个环&#xff0c;改为循环链表。插入与删除与单链表的原理甚…

sas sql 读取最后一行数据_SAS基础编程和数据处理

前几天讲了数据分析中SQL的基本使用方法以及具体案例分析思路&#xff0c;接下来会继续讲统计基础以及在SAS软件内的应用&#xff0c;在这之前&#xff0c;本文先进行SAS基础使用编程的基础介绍&#xff0c;后续会主要阐述SAS软件内的统计数学的应用&#xff0c;如分析或初步建…

代码合并工具_分享几款比较常用的代码比较工具

俗话说&#xff1a;三句不离本行&#xff0c;对于程序员这个可爱的群体来说也是一样&#xff0c;即使面对无休无止的编程工作&#xff0c;程序员们依旧任劳任怨的埋头苦干&#xff0c;梦想着用自己码下的代码改变世界。工欲善其事,必先利其器&#xff0c;每一位程序员都有自己私…

循环控制

循环控制 定义 Python 循环语句是通过一条或多条语句的执行结果&#xff08;True 或者 False&#xff09;来决定执行的代码块。 并在符合条件的情况下跳出该段循环。 类似于控制语句。 如下图所示。 WHILE 循环 while 判断条件&#xff1a; 语句 求1~100的和 n 0 sum 0 while…

rest风格的get加密字符串怎么接收_RESTful Api的设计与风格,你该学一下咯

REST的重要概念REST全称是Representational State Transfer&#xff0c;中文意思是表征性状态转移。RESTful是指具有REST表征的web架构风格&#xff0c;并非必须遵守的规则。REST分离了API的结构和逻辑&#xff0c;主要应用于客户端和服务器交互类的软件。基于这种风格设计的软…

接口批量同步数据_千手接口平台+电商ERP,助德嵘大药房征战拼多多

拼多多对C端经营者来说&#xff0c;是一个处于红利期的第三方C端电商平台&#xff0c;进驻费比天猫低很多&#xff0c;而且流量成本也低&#xff0c;很多商家都跃跃欲试。但对于没有C端平台运营经验的商家&#xff0c;进驻后会发现几个"坑"&#xff1a;客单价低、退货…

php 接口有几种,【后端开辟】php接口有哪些范例?

接口是什么&#xff1f;运用接口(interface)&#xff0c;能够指定某个类必需完成哪些要领&#xff0c;但不须要定义这些要领的具体内容。接口是经由过程 interface 关键字来定义的&#xff0c;就像定义一个规范的类一样&#xff0c;但个中定义一切的要领都是空的。接口中定义的…

java是编译型语言还是解释型语言?

首先拿python和C说明&#xff0c;python运行速度慢&#xff0c;和C程序相比非常慢&#xff0c;因为Python是解释型语言&#xff0c;你的代码在执行时会一行一行地被python解释器翻译成CPU能理解的机器码&#xff0c;这个翻译过程非常耗时&#xff0c;所以很慢。而C/C程序是编译…

typedef函数指针_C语言函数指针之回调函数

1 什么是回调函数&#xff1f;首先什么是“回调”呢&#xff1f;我的理解是&#xff1a;把一段可执行的代码像参数传递那样传给其他代码&#xff0c;而这段代码会在某个时刻被调用执行&#xff0c;这就叫做回调。如果代码立即被执行就称为同步回调&#xff0c;如果过后再执行&a…

fedora 安装oracle 12c,Fedora 12下安装Oracle 11客户端

目标&#xff1a;将oracle-client(v11)安装到rdquo;/opt/oracle/rdquo;下准备好如下三个安装包&#xff0c;放在某个目录下&#xff0c;如&#xff1a;/root/software/ora目标&#xff1a;将Oracle-client(v11)安装到”/opt/oracle/”下准备好如下三个安装包&#xff0c;放在某…

轨迹跟踪主要方法_DELMIA教程:基于指令形式的机器人TCP轨迹局部跟踪方法

上一期为大家介绍了基于工具条中的“TCP Trace”命令按钮的全局TCP轨迹跟踪&#xff0c;之所以称之为全局轨迹跟踪&#xff0c;是因为只要命令被打开&#xff0c;机器人运行的全部轨迹都将实现跟踪。既然有全局TCP轨迹跟踪&#xff0c;那么就一定有局部TCP轨迹跟踪&#xff0c;…

[转帖]开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别 https://www.geek-workshop.com/thread-1860-1-1.htmlliamjeal电梯直达1# 发表于 2012-9-10 13:41:43 | 只看该作者 |只看大图 因CooCox用户数及影响力越来越大&#xff0c;CooCox团队也逐渐提高了对软件及代码协议的重…

qt 定时器累加值_零基础入门单片机定时器详解

一、基本定时器介绍在STM32中&#xff0c;基本定时器有TIM6、TIM7等。基本定时器主要包含时基单元&#xff0c;提供16位的计数&#xff0c;能计数0~65535。基本定时器除了计数功能以外&#xff0c;还能输出给DAC模块一个TRGO信号。基本定时器框图如下&#xff1a;二、时基单元介…

jvm 安装位置_简单了解JVM

1、JVM的位置&#xff1a;JVM是在操作系统上面的应用软件JVM虚拟机有三种如下&#xff1a;① Sun公司的HotSpot&#xff1b;    ② BEA公司的JRockit&#xff1b;    ③ IBM公司的J9 JVM&#xff1b;java虚拟机属于第一种&#xff1a;2、JVM的体系结构&#xff1a;3、类…

前端安全之 XSS攻击

参看&#xff1a; XSS的原理分析与解剖 前端安全 -- XSS攻击 web大前端开发中一些常见的安全性问题 1、前言 XSS 是面试时&#xff0c;hr提出来给我的&#xff0c;然后大体的浏览一遍&#xff0c;今天才查阅资料大体了解了它。 XSS 攻击&#xff1a;攻击者向HTML页面传入恶意的…

图片

转载于:https://www.cnblogs.com/water-1/p/11138418.html

idea 调节背景护眼_夜间用电脑亮瞎眼睛?这份夜间护眼指南来帮你。

题图&#xff1a;来自 Unsplash文/彭宏豪&#xff0c;笔名/安哥拉不知从什么时候起&#xff0c;「头秃」成了网友和周围人口中的一个高频词汇&#xff0c;似乎很多事情都离不了头秃——学到头秃、工作到头秃、熬夜到头秃等等&#xff0c;就连「突然」也渐渐演变成「秃然」。但对…

编写有效用例电子版_剖析用例设计方法的使用

今天给大家讲解的是用例设计方法的使用&#xff0c;在设计用例时该如何应用用例设计方法、设计出覆盖率高的测试用例呢&#xff1f;场景简介&#xff1a;普遍登录页面测试用例设计分析拿到需求&#xff0c;首先要做需求分析。我们看到登录界面有三个测试点&#xff1a;1.账号2.…