selenium 显示等待wait.until 常用封装 及下拉框的选择操作等
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wwait
from selenium.webdriver.support import expected_conditions as EC def wait_until(bc,locator,type=1): '''bc=driver,类似locator=(By.ID,'kw'),type{1:visible,2:clickable,3:frame switch}''' wait=wwait(bc,10,0.2)
#等待页面元素可见,返回该页面元素
if type==1:
return wait.until(EC.visibility_of_element_located(locator))
#等待页面元素可点击,返回该元素
elif type==2:
return wait.until(EC.element_to_be_clickable(locator))
#通过定位frame 切换到这个frame
elif type=3:
wait.until(EC.frame_to_be_available_and_switch_to_it(locator)) #切换回最外层 bc.switch_to.default_content()
#下拉框、单选框、文本下拉框的选择操作
from selenium.webdriver import ActionChains as AC
from selenium import webdriver as wd
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys #找到下拉框
select_element=Select(bc.find_element_by_xpath("//select"))
#下拉框选项的多选
select_element.select_by_index(1)
select_element.select_by_visible_text('荔枝')
select_element.select_by_value('juzi')
#取消选择
select_element.deselect_by_index(1)
select_element.deselect_by_visible_text('荔枝')
select_element.deselect_by_value('juzi')
#文本下拉框
from selenium.webdriver.common.keys import Keys
bc.find_element_by_id('select').send_keys('c')
#箭头向下选
bc.find_element_by_id('select').send_keys(Keys.ARROW_DOWN)
#回车选中
bc.find_element_by_id('select').send_keys(Keys.ENTER)
#操作单选框
berry_redio=bc.find_element_by_xpath("//input[@value='berryradio']")
berry_redio.click()
if berry_redio.selected():
watermelonradio=bc.find_element_by_xpath("//input[@value='watermelonradio']")
watermelonradio.click()
#复选框
先找到复选框
berry_checkbox=bc.find_element_by_xpath("//input[@value='berry']")
berry_checkbox.click()
if berry_checkbox.is_selected():
berry_checkbox.click() #取消选择 check_boxlist=bc.find_elements_by_xpath("//input[@name='fruit']")
for i in check_boxlist:
if not i.is_selected():
i.click()
selenium 显示等待wait.until 常用封装 及下拉框的选择操作等的更多相关文章
- Selenium示例集锦--常见元素识别方法、下拉框、文本域及富文本框、鼠标操作、一组元素定位、弹窗、多窗口处理、JS、frame、文件上传和下载
元素定位及其他操作 0.常见的识别元素的方法是什么? driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...
- 组件 layui 常用控件下拉框的应用
下拉框的显示样式: 针对下拉框的绑定等操作时,在最后务必调用一次 form.render(); 1.基本定义: <div class="layui-form-item"> ...
- Jquery封装:下拉框插件
代码如下: ;(function ($, window) { $.fn.addSelect = function (options) { //合并传入与默认的参数 var opts = $.exten ...
- element-ui中select下拉框,选择后赋值成功,但是框上不显示的坑
这个是今天遇到一个坑,因为也是第一次使用vue+element-ui开发,所以记录一下自己遇到的一些问题. 这个问题是在开发省市区三级联动组件的时候遇到的,具体的情况如下发的gif图,虽然解决了问题, ...
- selenium如何随机选取省份和城市的下拉框的值
1.原始需求,选择省份后,相应的城市会自动加载 2.思路 a.获取下拉框的所有元素个数 b.随机点击0-元素个数之间的某个值 3.代码实现 Random random = new Random(); ...
- selenium 难定位元素,时间插件,下拉框定位,string
1.元素定位 ID定位元素: findElement(By.id(“”)); 通过元素的名称定位元素: findElement(By.name(“”)); 通过元素的html中的位置定位元素: fin ...
- selenium 难定位元素,时间插件,下拉框定位,string包含,定位列表中的一个,技巧
关于frame: 如果网页存在iframe的话,传统的定位有时候找不到元素,需要切换frame: # 切换到leftFrame定位“测井设计” driver.switch_to_frame(" ...
- Selenium常用API用法示例集----下拉框、文本域及富文本框、弹窗、JS、frame、文件上传和下载
元素识别方法.一组元素定位.鼠标操作.多窗口处理.下拉框.文本域及富文本框.弹窗.JS.frame.文件上传和下载 元素识别方法: driver.find_element_by_id() driver ...
- selenium下拉框选择
下拉框结构如下,我需要选择的是new: html为: <select id="condition_type" name="condition_type" ...
随机推荐
- AWS 存储服务(三)
目录 AWS S3 业务场景 挑战 解决方案 S3的好处 S3 属性 存储桶 Buckets 对象 Object S3 特性 S3 操作 可用性和持久性 一致性 S3 定价策略 S3高级功能 存储级别 ...
- node更改默认npm阿里地址
npm config set registry https://registry.npm.taobao.orgsudo npm install cnpm -g --registry=https://r ...
- javascript判断碰撞检测
javascript判断碰撞检测 点与矩形的碰撞检测 <pre> /** * * @param x1 点 * @param y1 点 * @param x2 矩形view x * @par ...
- java连接zookeeper实现zookeeper的基本操作
Java服务端连接Zookeeper,进行节点信息的获取,管理…,整理成一个基本工具, 添加依赖: <dependency> <groupId>org.apache.zooke ...
- 记:联调安卓设备的神药-无需usb数据线即可直连
前言 最近需要调试公司的安卓服务,正常情况下,我们调试都是减安卓设备通过usb连接在我们座位旁,再不济就是我们扛笔记本到硬件旁边,这样调试屡试不爽,但是有一天你突然发现你带的数据线因为各种原因总是终端 ...
- 数据结构 -- 二叉树(Binary Search Tree)
一.简介 在计算机科学中,二叉树是每个结点最多有两个子树的树结构.通常子树被称作“左子树”(left subtree)和“右子树”(right subtree).二叉树常被用于实现二叉查找树和二叉堆. ...
- 『Python基础练习题』day01
个人主页: https://lipeiguan.top 1.简述变量命名规范 2.name = input(">>>") name变量是什么数据类型? 3.if条 ...
- Recovering BST CodeForces - 1025D (区间dp, gcd)
大意: 给定$n$个数, 任意两个$gcd>1$的数间可以连边, 求是否能构造一棵BST. 数据范围比较大, 刚开始写的$O(n^3\omega(1e9))$竟然T了..优化到$O(n^3)$才 ...
- 字符串的简单操作----记录次数 hdu2617
统计出字符串中共能拼凑出多少happy.happy相对次序不变. #include<cstdio> #include<iostream> #include<string. ...
- (五)Struts之Action类基础(二)
上一章节末((三)Struts之Action类基础(一))介绍了如何获取用户输入数据的获取.接着就是在Struts中怎么把数据响应给用户端,这就必须要求我们把数据放到作用域中,然后才能显示到用户浏览器 ...