一、前言
總結(jié)一下python+selenium select下拉選擇框定位處理的兩種方式,以備后續(xù)使用時(shí)查詢;
二、直接定位(XPath)
使用Firebug找到需要定位到的元素,直接右鍵復(fù)制XPath,使用find_element_by_xpath定位;
driver = webdriver.Firefox() driver.get("https://www.baidu.com/") driver.find_element_by_xpath().click()
三、間接定位(Select模塊)
頁面HTML源碼如下所示:
python+selenium 代碼如下:
# coding:utf-8 from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support.select import Select import time driver = webdriver.Chrome() driver.get("https://www.baidu.com/") driver.implicitly_wait(20) mouse = driver.find_element_by_link_text("設(shè)置") ActionChains(driver).move_to_element(mouse).perform() driver.find_element_by_link_text("搜索設(shè)置").click() time.sleep(2) # 實(shí)例化select s = Select(driver.find_element_by_id("nr")) # 定位選項(xiàng) s.select_by_value("20") # 選擇value="20"的項(xiàng):通過value屬性 time.sleep(2) #為了明顯的看出變化 s.select_by_index(0) # 選擇第一項(xiàng)選項(xiàng):通過選項(xiàng)的順序選擇,第一個(gè)為 0 time.sleep(2) #為了明顯的看出變化 s.select_by_visible_text("每頁顯示50條") # 選擇text="每頁顯示50條"的值,即在下拉時(shí)我們可以看到的文本
四、總結(jié)
Select提供了三種選擇方法:
select_by_index(index) ――通過選項(xiàng)的順序,第一個(gè)為 0
select_by_value(value) ――通過value屬性
select_by_visible_text(text) ――通過選項(xiàng)可見文本
Select提供了四種方法取消選擇:
deselect_by_index(index) deselect_by_value(value) deselect_by_visible_text(text) deselect_all()
Select提供了三個(gè)屬性方法提供信息:
options ――提供所有的選項(xiàng)的列表,其中都是選項(xiàng)的WebElement元素
all_selected_options ――提供所有被選中的選項(xiàng)的列表,其中也均為選項(xiàng)的WebElement元素
first_selected_option ――提供第一個(gè)被選中的選項(xiàng),也是下拉框的默認(rèn)值
通過Select提供的方法和屬性,我們可以對(duì)標(biāo)準(zhǔn)select下拉框進(jìn)行任何操作,但是對(duì)于非select標(biāo)簽的偽下拉框,需要使用XPath定位;
以上這篇python+selenium select下拉選擇框定位處理方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
