• 单选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. java 网络流 TCP/UDP

    一.ServerSocket java.lang.Object |-java.net.ServerSocket 有子类SSLServerSocket. 此类实现服务器套接字.服务器套接字等待请求通过网 ...

  2. Arduino-定义串口

    在一个老外写的代码中找到了一个非常好的定义串口的方法!   Arduino用下面这种方法定义串口可以方便的把协议应用的任意的端口,大大提高了代码的修改性和移植性.       以下是范例:       ...

  3. C# 安装 Visual Studio IDE

    官网: https://visualstudio.microsoft.com/zh-hans/ 下载社区版(免费的) .微软的软件安装都是很nice的.安装过程中选择需要的配置进行安装(比如.net桌 ...

  4. java重定向与请求转发

    重定向是不能直接访问WEB-INF下的资源的,因为重定向是浏览器二次请求,众所周知,客户端是不能直接访问WEB-INF下的资源的. 而请求转发却可以直接访问. 然而重定向却可以间接访问WEN-INF下 ...

  5. 一、初始Object-C

    一.OC概述 特点: 1没有包得概念 2关键字以@开头 3.拓展名 .m 二.第一个OC类 1,分为2个文件..m和.h文件 2. .m文件用来实现类  .h用来定义声明类 .h文件中得写法 //@i ...

  6. java基础 序列化反序列化流 实现Serializable 接口 自动装载序列号到对象文本文件如修改不能反序列化对象文本,除非自定义long型常量 打印流

    package com.swift.baseKnowledge; import java.io.File; import java.io.FileInputStream; import java.io ...

  7. iOS提示框,为什么你应该使用 MBProgressHUD?

    这是一篇带有一定笔者主观感情色彩的比较文章.文章着重对比github上最流行的两个iOS进度提示控件 MBProgressHUD 与 SVProgressHUD的各自优劣,来帮助初学者找到一个适合的i ...

  8. tcp服务端socket

    import socket if __name__ == '__main__': # 创建tcp服务端socket tcp_server_socket = socket.socket(socket.A ...

  9. 课时16.HTML-XHTML-HTML5区别(了解)

    简而言之 HTML语法非常宽松容错性强: XHTML更为严格,它要求标签必须小写,必须严格闭合,标签中的属性必须使用引号引起等等. HTML5是HTML的下一个版本所以除了非常宽松容错性强以外,还增加 ...

  10. stdio中牛逼的写法

    用空间换时间的典型 /* * NOTE! This ctype does not handle EOF like the standard C * library is required to. */ ...