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

目录

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. 坐标轴刻度取值算法-基于魔数数组-源于echarts的y轴刻度计算需求

    本文链接:https://blog.csdn.net/qq_26909801/article/details/96966372数值型坐标轴刻度计算算法前言算法描述上代码代码运行效果结语前言因实习的公司 ...

  2. ajax使用jsonp跨域调用webservice error错误信息"readyState":4,"status":200,"statusText":"success"

    主要还是接口写有问题 至于ajax保持简洁写法即可 $.ajax({ dataType: 'jsonp', type: ‘get’, data: {}, url: '' })

  3. vue.js(20)--vue路由

    后端路由 对于普通的网站,所有的超链接都是url地址,所有的url地址都对应着服务器上的资源 前端路由 对于单页面应用程序来说,主要通过单页面中的hash(#)来进行页面的切换.hash的特点是htt ...

  4. Android数据库使用指南(上)

    前言Android上的数据库是sqlite,虽然这个数据库是轻量级的,但是储存的东西可不少,sqlite官方表示理论存储容量为140TB,目前应该没有那么大容量的手机,存储能力太强了. 关于如何使用S ...

  5. 如何设置一个App的缓存机制

    在手机应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制,前面一篇文章介绍了iOS设备的内存缓存,这篇文章将设计一个本地缓存的机制. 功能需求 这个 ...

  6. 2018 Web 开发者路线图[转载]

    2018 Web 开发者路线图[转载] https://qianduan.group/posts/5a66f36e0cf6b624d2239c74?hmsr=toutiao.io&utm_me ...

  7. man - 格式化并显示在线帮助手册页

    总览 man [-acdfFhkKtwW] [-m 系统名] [-p <前处理程序>] [-C <配置文件>] [-M <路径>] [-P <浏览方式> ...

  8. 图解Qt安装(Windows平台)

    http://c.biancheng.net/view/3858.html 本节介绍 Qt 5.9.0 在 Windows 平台下的安装,请提前下载好 Qt 5.9.0.不知道如何下载 Qt 的读者请 ...

  9. EasySwoole的入门学习

    EasySwoole的入门学习 官网地址:https://www.easyswoole.com/ 一.安装easyswoole: (1)建立安装目录: cd /data mkdir easyswool ...

  10. vue项目中使用swiper插件遇到的坑

    <style scoped> .swiper-pagination-bullets  >>> .swiper-pagination-bullet-active {     ...