• 单选radiobutton的操作

  两种情况,一种是各个button元素的属性都有唯一定位值,可以直接用属性唯一值定位;另一种就是一组各方面属性值都一样的radiobutton,除了text,可以用组元素定位来操作

#检测任务下各题型的radiobutton有唯一id值
driver.find_element_by_css_selector("#sinquestion").click()#选择检测任务:单选题 #基础信息下的各学科radiobutton全都一样,组定位.两种方式
driver.find_elements_by_css_selector("[name=SubjectName]").pop().click() driver.find_elements_by_css_selector("[name=SubjectName]")[].click()
  • 复选checkbox的操作
#推送范围,遍历访问的方式全部勾选
for push in driver.find_elements_by_name("GroupName"):
push.click()
time.sleep()

  单个勾选的话也可以用下标索引和pop()索引来处理

  • 下拉框的定位:select > option*x 结构,

   1. 定位父元素select,然后通过tag name找到所有option,得到option元素的数组,然后通过数组索引([1])定位,最后click.  

driver.find_element_by_id("BookName").find_elements_by_tag_name("option")[].click()#选择下拉框的第一个教材

driver.find_element_by_id("BookName").find_elements_by_css_selector("[value=1419]").click()

   2. 用到了Select类, 实例select对象有很多方法:

deselect_all(),全不选。

deselect_by_index(index),不选index 项,index从0 还是从1 开始了。

deselect_by_value( value),不选元素value属性为value的项,听着有点拗口,其实value值就是option标签中value的值。

deselect_by_visible_text( text),不选标签innerHTML为text的option

select_by_index( index),同上,选择第 index 项。这个用于 option的text和value不固定的情况

select_by_value( value), 同上,选择。

select_by_visible_text( text),同上,选择。

 #使用前需先引入Select类
from selenium.webdriver.support.ui import Select select = Select(driver.find_element_by_id("BookName"))
select.deselect_all()#大体意思是应该是先清空再选择,已经尝试过删除这句也可以选择成功,可能还没遇到失败的情况
select.select_by_visible_text("我们版初中七年级语文上册")

webdriver--单选、复选及下拉框的定位的更多相关文章

  1. 大型情感剧集Selenium:4_老中医教你(单/多/下拉框)选项定位 #华为云·寻找黑马程序员#

    今天讲什么 讲什么标题说了,讲selenium的单选.多选.下拉框选项定位.但其实这东西,没什么太多说的,又比较枯燥,那该怎么让这一集selenium的课程变得有趣呢?有请老中医,哈哈- 怎么样,这个 ...

  2. flask中单选、多选、下拉框的获取

    1.单选: source = request.form.get('source') 2.多选:   joy = request.form.getlist('joy')    或者   joy = re ...

  3. ligerui多选动态下拉框

    今天下午要求做一个支持多选的,并且插件用ligerui的,当时有点小懵了,因为没用过ligerui啊!而且按照API的介绍,我做得也很好啊,可是为什么就是显示不出来?据说有位小神比较厉害,请教来之,两 ...

  4. javascript 可多选的下拉框 multiselect

    首先引用一个写的很好的博客http://www.cnblogs.com/landeanfen/p/5013452.html 我使用的是bootstrap-multiselect,实现功能是 选择下拉框 ...

  5. javascript 可多选的下拉框 multiselect 动态删除option值,动态添加option值,动态生成表格

    首先引用一个写的很好的博客http://www.cnblogs.com/landeanfen/p/5013452.html 我使用的是bootstrap-multiselect,实现功能是 选择下拉框 ...

  6. 多测师讲解selenium _下拉框的定位_高级讲师肖sir

    from selenium import webdriver from selenium.webdriver.support.ui import Select#导入类from time import ...

  7. Selenium-java 中 对于下拉框 对于网页上的下拉框 如何定位

    WebElement e1 = driver.findElement(By.cssSelector("#s_province")); Select se1 = new Select ...

  8. DropDownList单选与多选下拉框

    一.单选DropDownList传值 1.添加界面的DropDownList显示值问题 (1)在方法内添加ViewData的方法: var ad = new UnitsRepository(); Vi ...

  9. 自定义SWT控件一之自定义单选下拉框

    一.自定义下拉控件 自定义的下拉框,是自定义样式的,其中的下拉框使用的是独立的window,非复选框的下拉框双击单机其它区域或选择完之后,独立window构成的下拉框会自动消失. package co ...

随机推荐

  1. 如何查看某个用户指定时间段的ABAP开发记录

    输入用户名和想查询的时间段: 执行得到结果.双击可查看具体代码: 工具源代码: REPORT tool_dev_history. PARAMETERS: name TYPE usr02-bname O ...

  2. POJ - 3470 Walls

    小鸟往四个方向飞都枚举一下,数据范围没给,离散以后按在其中一个轴线排序,在线段树上更新墙的id,然后就是点查询在在哪个墙上了. 这题有个trick,因为数据范围没给我老以为是inf设置小了,WA了很多 ...

  3. vue中多个元素或多个组件之间的动画效果

    多个元素的过渡 <style> .v-enter,.v-leave-to{ opacity: 0; } .v-enter-acitve,.v-leave-active{ opacity: ...

  4. Java中JSON字符串与java对象的互换实例详解

    这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...

  5. Thread 创建线程

    1.该线程变量 无参数 我们可以把线程的变量 理解为一个 委托.可以指向一个方法.有点像c语言中的指向函数的指针. 第1步我们创建了 Thread变量t1 ,第2步创建了一个方法threadChild ...

  6. update_TypeError

    TypeError: ( 'An update must have the same type as the original shared variable ( shared_var=W, shar ...

  7. Bug分支

    软件开发中,bug就像家常便饭一样.有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除. 当你接到一个修复一 ...

  8. 数据库可视化工具简介以及pymysql的使用

    1.可视化工具Navicat 我们自己开发测试时,可以使用该可视化工具,以图形界面的形式操作数据库 在生产环境中,为了显示自己的逼格,一般不建议使用它 官网下载:https://www.navicat ...

  9. linux下Mycat的安装配置

    1.下载Mycat Linux版:下载链接 2.通过SSH直连工具把安装包丢到linux:/usr/local/ 3.解压安装Mycat 4.配置环境 5.使配置文件生效

  10. vue 改变我们插值的符号{{}}改为${}

    delimiters的作用是改变我们插值的符号.Vue默认的插值是双大括号{{}}.但有时我们会有需求更改这个插值的形式. delimiters:['${','}'] 现在我们的插值形式就变成了${} ...