場景
下拉框也是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()
