弹框\下拉框\选项\文件上传也是一些比较特殊的操作

目录

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自动化之特殊处理二(弹框\下拉框\选项\文件上传)的更多相关文章

  1. JavaScript---网络编程(11)--DHTML技术演示(4)-单选框/下拉菜单/添加文件

    本节讲述单选框/下拉菜单/添加文件,综合css,html和JavaScript. 单选框: 实现的功能是:(类似平时的性格测试) 先隐藏一部分页面,然后通过点击单选框来显示. 再通过选项的选择-(每个 ...

  2. easyui combobox点击输入框弹出下拉框

    由于easyui combobox需要点击下拉箭头才能下拉,不能像select标签那样点击输入框就下拉,所以觉得不太方便,查看了一下,combobox弹出框是一个div,原本想在他的输入框的点击事件中 ...

  3. JQuery autocomplete获得焦点触发弹出下拉框

    需求:autocomplete控件,当点击获得焦点的时候也要弹出下拉列表(autocomplete默认是输入之后才会跟随出下拉列表),下面直接贴代码. js代码: $("#customerN ...

  4. ActionBar点击弹出下拉框操作

    首先: getActionBar().setDisplayShowTitleEnabled(false); ActionBar.LayoutParams lp = new ActionBar.Layo ...

  5. asp.net html 单击按钮弹出下拉框效果

    1.说明 需要引用jquery.js文件,我的页面是在asp.net MVC4 添加的web窗体,其他不多说 直接看代码 2.代码 <%@ Page Language="C#" ...

  6. CSS实现鼠标移入弹出下拉框

    前言 最近比较沉迷CSS,所以我现在来做个鼠标的交互效果 HTML <ul> <li>测试</li> <li>测试</li> <li ...

  7. [二十]SpringBoot 之 (多)文件上传

    (1)新建maven Java project 新建一个名称为spring-boot-fileuploadmaven java项目 (2)在pom.xml加入相应依赖: <project xml ...

  8. Selenium:利用select模块处理下拉框

    在利用selenium进行UI自动化测试过程中,经常会遇到下拉框选项,这篇博客,就介绍下如何利用selenium的Select模块来对标准select下拉框进行操作... 首先导入Select模块: ...

  9. Selenium: 利用select模块操作下拉框

    在利用selenium进行UI自动化测试过程中,经常会遇到下拉框选项,这篇博客,就介绍下如何利用selenium的Select模块来对标准select下拉框进行操作... 首先导入Select模块: ...

随机推荐

  1. git error: failed to push some refs to 'git@github.com:xxx/xxx.git'

    本地仓库中和远程仓库不一致,缺少readme.md文件 解决方式参见:https://blog.csdn.net/qq_37281252/article/details/79044798

  2. B/S,C/S架构的区别

    B/S架构:browser/server,采用的是浏览器服务器模式. C/S架构:client/server,采用的是客户端服务器模式. B/S架构,客户端是浏览器基本不需要维护,只需要维护升级服务器 ...

  3. vue项目1-pizza点餐系统10-axios实现登陆

    一.登陆思路 从数据库中拿到数据,每个用户信息都是一个对象,需要用数组存储对象信息,然后对比输入的用户信息,如果匹配成功就跳转到home主页,否则提示用户或密码错误. 二.具体操作 1.导入axios ...

  4. CPM、CPC、CPA、PFP、CPS、CPL、CPR等广告术语是什么意思

    CPM.CPC.CPA.PFP.CPS.CPL.CPR等广告术语是什么意思 一个网络媒体(网站)会包含有数十个甚至成千上万个页面,网络广告所投放的位置和价格 就牵涉到特定的页面以及浏览人数的多寡.这好 ...

  5. windows使用cmd命令输出文件清单和文件树

    输出目录树:tree /f > d:\filetree.txt 输出目录清单:dir /s /b > d:\filelist.txt

  6. 分分钟轻松搞定IBM系列 RAID5搭建

    分分钟轻松搞定IBM系列 RAID5搭建 按照 以下图片步骤一步步可轻松完成IBM服务器RAID1.5.10等的搭建. 此例是以RAID5为例,RAID1和10可举一反三.

  7. STM32 总线

    AHB,是Advanced High performance Bus的缩写,译作高级高性能总线,这是一种“系统总线”.AHB主要用于高性能模块(如CPU.DMA和DSP等)之间的连接.AHB 系统由主 ...

  8. 开发框架DevExtreme全新发布v19.1.3|附下载

    DevExtreme Complete Subscription是性能最优的 HTML5,CSS 和 JavaScript 移动.Web开发框架,可以直接在Visual Studio集成开发环境,构建 ...

  9. WebStorm / IDEA最新激活码2019----100%随时可用

    亲测日期:2019.12.24 网址里面有 lookdiv.com 里面的钥匙就是lookdiv.com 或者直接点击备用码  http://lookdiv.com/spare.html 进入可能会比 ...

  10. GitLab5

    GitLab5发布快一个月了,决定试用下,5.0最大的特性就是用GitLab-Shell取代了Gitolite,这大大降低了安装难度,不多本人在安装过程中还是越到了一些问题,所以记录下来供要安装Git ...