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" ...
随机推荐
- 给.Net Core添加Swagger实现接口文档自动生成
1.添加Nuget相关引用 Swashbuckle.AspNetCore
- 2019-11-8 Linux作业 李宗盛
linux系统的特点:完全免费,高效,安全稳定.支持多种硬件平台.有好的用户界面.强大的网络功能.支持多任务多用户. linux一般有三个主要部分:内核.命令解释层.实用工具. 那合适系统的心脏,是运 ...
- Windows服务操作帮助类
/// <summary> /// 打开系统服务 /// </summary> /// <param name="serviceName">系统 ...
- go打印九九乘法表
package main import ( "fmt" ) func main() { for i := 1; i < 10; i++ { for j := 1; j < ...
- javascript判断碰撞检测
javascript判断碰撞检测 点与矩形的碰撞检测 <pre> /** * * @param x1 点 * @param y1 点 * @param x2 矩形view x * @par ...
- WCF-简单 配置文件
一.服务端配置文件 主要包括 1.services 配置服务节点 <!--name 指的是契约实现类--> <service name="WcfLib.User2" ...
- Appium 基于控件左滑操作
def swipe_ele_left(self, ele, dur=800): """ 基于控件元素左滑操作 :param ele: 控件元素 :param dur: 在 ...
- Spring IoC 和 DI 简介(二)
Spring IoC 和 DI 简介 IoC:Inverse of Control(控制反转) 读作“反转控制”,更好理解,不是什么技术,而是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由 ...
- PAT甲级 并查集 相关题_C++题解
并查集 PAT (Advanced Level) Practice 并查集 相关题 <算法笔记> 重点摘要 1034 Head of a Gang (30) 1107 Social Clu ...
- tcpdump使用的心得
这个linux的抓包工具确实用的不多,这段时间由于处理现场的问题所以就需要这个工具,主要是要知道网卡的信息. 命令就是 tcpdump -i 网卡名