弹框\下拉框\选项\文件上传也是一些比较特殊的操作
目录
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的,借助第三方模块
UI自动化之特殊处理二(弹框\下拉框\选项\文件上传)
原文地址:https://www.cnblogs.com/weizhideweilai/p/9642564.html