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