Webdriver 常用弹框、下拉框处理
Frame、Select
Frame弹框
#coding:utf-8
from selenium import webdriver
dr = webdriver.Firefox()
url = 'https://www.baidu.com'
dr.get(url)
dr.find_element_by_xpath('/html/body/div[1]/pre/div[1]') #点击选项触发frame弹框
dr.switch_to.frame(dr.find_element_by_xpath('/html/body/div[1]/iframe'))#跳转至frame界面
dr.find_element_by_xpath('//*[@id="dpOkInput"]').click()#执行frame界面的正常操作
dr.switch_to.default_content()#跳出frame界面
注意看备注,其实frame弹框最重要的是定位,需定位到frame层级,而不是frame下面的子层级。
Select下拉框
#coding:utf-8
from selenium import webdriver
from selenium.webdriver.support.select import Select
dr = webdriver.Firefox()
url = 'https://www.baidu.com'
dr.get(url)
Select(self.dr.find_element_by_xpath('/html/body/div[1]')).select_by_value('1')#用select直接定位需要操作的value
self.dr.find_element_by_xpath('/html/body/div[1])#是找到下拉框元素,
select_by_value('1')#是定位select下拉框的子属性,
#无需进行点击和选取的分离操作
未完待续
还有其他外部弹框及下拉框的后期续写,
上面这两种基本已经是现在大部分开发常用的弹框及下拉框处理