弹框\下拉框\选项\文件上传也是一些比较特殊的操作
目录
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的,借助第三方模块
原文地址:https://www.cnblogs.com/weizhideweilai/p/9642564.html
时间: 2024-11-05 13:41:35