场景
下拉框也是web 页面上非常常见的功能,webdriver 对于一般的下拉框处理起来也相当简单,要想定位下拉框中的内容,首先需要定位到下拉框;这样的二次定位
下拉框一般有以下两种方式:
- 鼠标移上去直接弹出的,那么我们可以使用move_to_element()进行操作,在上一章alert/confirm/prompt处理章节已经介绍
- 下拉框处理是两次点击,第一点击弹出下拉框,第二次点击操作元素,下面将介绍这种
代码
#!/usr/bin/env python # -*- codinfg:utf-8 -*- ''' @author: Jeff LEE @file: 下拉框处理.py @time: 2018-09-25 17:27 @desc: ''' from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import time driver = webdriver.Firefox() #添加智能等待 driver.implicitly_wait(10) driver.get('https://www.baidu.com/') #进入搜索设置页面 elment = driver.find_element_by_link_text('设置') ActionChains(driver).move_to_element(elment).perform() driver.find_element_by_link_text('搜索设置').click() time.sleep(5) #先定位到下拉框 driver.find_element_by_xpath("//select[@id='nr']").click() time.sleep(5) #再点击下拉框下的选项 driver.find_element_by_xpath('//option[@value="20"]').click() time.sleep(5) #保存设置 driver.find_element_by_link_text('保存设置').click() #获取网页上的警告信息 alert=driver.switch_to_alert() time.sleep(5) #接收警告信息 alert.accept() time.sleep(5) driver.quit()