UI自动化之特殊处理二(弹框\下拉框\选项\文件上传)
弹框\下拉框\选项\文件上传也是一些比较特殊的操作
目录
1、弹框
2、下拉框
3、选项
4、文件上传
1、弹框
弹框有三种形式,value为alert、confirm、prompt三种的弹框,第一个仅可点击确认,第二个可点击取消和确认,第三个可以输入内容再点击取消或者确认
alert:仅需要定位到alert上,然后再确认
m= driver.switch_to_alert()
m.accept()
confirm:定位到alert,点击取消或者确认
m= driver.switch_to_alert()
m.accept() #确认
m.dismiss() #取消,取消和确认选一种
prompt:定位到alert,输入内容,再取消或者确认
m= driver.switch_to_alert()
m.send_keys("qq")
m.accept() #确认
m.dismiss() #取消,取消和确认选一种
2、下拉框
可通过一次定位和二次定位2种方法来定位
一次定位:
driver.find_element_by_xpath(".//[@id='nr']/option[3]").click()
二次定位:
第一种,先定位到下拉框,再用xpath定位到下拉框的值
driver.find_element_by_id("nr").find_element_by_xpath("//option[@value='50']").click()
第二种:用select模块二次定位
from selenium.webdriver.support.select import Select
'''通过索引'''
m = driver.find_element_by_id("nr")
Select(m).select_by_index(0)
'''通过value'''
m = driver.find_element_by_id("nr")
Select(m).select_by_value("20")
'''通过text'''
m = driver.find_element_by_id("nr")
Select(m).select_by_visible_text("每页显示 50 条")
3、选项
选项分为单选框和复选框
001、单选框:type=radio
直接找到,然后点击
driver.find_element_by_xpath(".//*[@type='radio']").click()
002、复选框:type=checkbox
想要全部点击,需要用find_elements方法,然后再循环点击
checkboxs=driver.find_elements_by_xpath(".//*[@type='checkbox']")
for i in checkboxs:
i.click()
003、是否选中
is_selected(),为True时,为选中,为False,没选中,用来测试点击的结果
driver.find_element_by_xpath(".//*[@type='radio']").click()
m=driver.find_element_by_xpath(".//*[@type='radio']").is_selected()
print m
4、文件上传
文件上传分为2种,一种type为file,一种不为file
001、type=file的,直接使用send_keys()
driver.find_element_by_id("qq").send_keys(r"d:\qq.png")
002、type非file的,借助第三方模块
第一步:安装Sendkeys模块
pip install SendKeys
第二步:应用
import SendKeys #SendKeys方法输入内容
SendKeys.SendKeys(r"文件路径")#发送文件地址
time.sleep(1)
SendKeys.SendKeys("{ENTER}")#发送回车键
time.sleep(1)
#SendKeys.SendKeys("{ENTER}")#如果是电脑搜索输入法,需要多一次回车
UI自动化之特殊处理二(弹框\下拉框\选项\文件上传)的更多相关文章
- JavaScript---网络编程(11)--DHTML技术演示(4)-单选框/下拉菜单/添加文件
本节讲述单选框/下拉菜单/添加文件,综合css,html和JavaScript. 单选框: 实现的功能是:(类似平时的性格测试) 先隐藏一部分页面,然后通过点击单选框来显示. 再通过选项的选择-(每个 ...
- easyui combobox点击输入框弹出下拉框
由于easyui combobox需要点击下拉箭头才能下拉,不能像select标签那样点击输入框就下拉,所以觉得不太方便,查看了一下,combobox弹出框是一个div,原本想在他的输入框的点击事件中 ...
- JQuery autocomplete获得焦点触发弹出下拉框
需求:autocomplete控件,当点击获得焦点的时候也要弹出下拉列表(autocomplete默认是输入之后才会跟随出下拉列表),下面直接贴代码. js代码: $("#customerN ...
- ActionBar点击弹出下拉框操作
首先: getActionBar().setDisplayShowTitleEnabled(false); ActionBar.LayoutParams lp = new ActionBar.Layo ...
- asp.net html 单击按钮弹出下拉框效果
1.说明 需要引用jquery.js文件,我的页面是在asp.net MVC4 添加的web窗体,其他不多说 直接看代码 2.代码 <%@ Page Language="C#" ...
- CSS实现鼠标移入弹出下拉框
前言 最近比较沉迷CSS,所以我现在来做个鼠标的交互效果 HTML <ul> <li>测试</li> <li>测试</li> <li ...
- [二十]SpringBoot 之 (多)文件上传
(1)新建maven Java project 新建一个名称为spring-boot-fileuploadmaven java项目 (2)在pom.xml加入相应依赖: <project xml ...
- Selenium:利用select模块处理下拉框
在利用selenium进行UI自动化测试过程中,经常会遇到下拉框选项,这篇博客,就介绍下如何利用selenium的Select模块来对标准select下拉框进行操作... 首先导入Select模块: ...
- Selenium: 利用select模块操作下拉框
在利用selenium进行UI自动化测试过程中,经常会遇到下拉框选项,这篇博客,就介绍下如何利用selenium的Select模块来对标准select下拉框进行操作... 首先导入Select模块: ...
随机推荐
- 简洁的Asp.net菜单控件
http://www.cnblogs.com/ruinet/archive/2009/11/10/1599984.html asp.net自带的菜单控件采用的table和javascript,导致生成 ...
- php-redis的配置与使用
从此处下载 https://codeload.github.com/phpredis/phpredis/zip/develop 也就php-redis的安装包,在zip格式,在windows下解压,将 ...
- Linux系统性能测试工具(五)——磁盘io性能工具之fio
本文介绍关于Linux系统(适用于centos/ubuntu等)的磁盘io性能测试工具-fio.磁盘io性能测试工具包括: fio: dd
- vue开发使用vue-particles如何兼容IE11?
最近开发vue项目,项目有一个粒子特效使用vue-particles.项目用vue-cli构建,webpack打包完毕,丢到服务器,chrome访问完美,测试360和Edge也正常.遗憾的是,在IE1 ...
- Flask【第4篇】:用Flask的扩展实现的简单的页面登录
用flask的扩展实现的简单的页面登录 from flask import Flask,render_template,request,redirect,session app = Flask(__n ...
- BZOJ2160 拉拉队排练 PAM
题意简述 询问一个串中所有奇回文按照长度降序排列,前k个奇回文的长度乘积. 做法 回文自动机(PAM)模板题. 维护每个回文自动机的结点回文串出现次数,跳fail得到每个长度的出现次数,双关键字排序后 ...
- lamba
>>> from random import randint>>> allNums = []>>> for eachNum in range(10 ...
- 如何判断系统是32位还是64位的linux系统
如何判断系统是32位还是64位的linux系统 某日,需要下载个安装包,忽然忘记了自己的系统是32位还是64位的系统了,一时想不起来怎么查看时32位还是64位,呵呵,随便百度下,就发现有好多方法,这里 ...
- ubuntu16.04 开启FTP服务
配置ftp 1.安装 vsftpd服务器 sudo apt install vsftpd 2.创建一个ftp文件夹 (可以跳过) sudo mkdir /home/ftp 3.新建ftp用户,并指向它 ...
- Flink Forward Asia 2019 - 总结和展望(附PPT下载链接)
11 月 28 - 30 日,北京迎来了入冬以来的第一场雪,2019 Flink Forward Asia(FFA)也在初雪的召唤下顺利拉开帷幕.尽管天气寒冷,FFA 实际到会人次超过 2000,同比 ...