欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python+selenium select下拉選擇框定位處理方法

 更新時(shí)間:2019年08月24日 15:32:24   作者:一條漂浮的楓葉  
今天小編就為大家分享一篇python+selenium select下拉選擇框定位處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

一、前言

總結(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模塊)

頁(yè)面HTML源碼如下所示:

<select id="nr" name="NR">
<option value="10" selected="">每頁(yè)顯示10條</option>
<option value="20">每頁(yè)顯示20條</option>
<option value="50">每頁(yè)顯示50條</option>
</select>

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):通過(guò)value屬性
time.sleep(2) #為了明顯的看出變化
s.select_by_index(0) # 選擇第一項(xiàng)選項(xiàng):通過(guò)選項(xiàng)的順序選擇,第一個(gè)為 0
time.sleep(2) #為了明顯的看出變化
s.select_by_visible_text("每頁(yè)顯示50條") # 選擇text="每頁(yè)顯示50條"的值,即在下拉時(shí)我們可以看到的文本

四、總結(jié)

Select提供了三種選擇方法:

select_by_index(index) ——通過(guò)選項(xiàng)的順序,第一個(gè)為 0

select_by_value(value) ——通過(guò)value屬性

select_by_visible_text(text) ——通過(guò)選項(xiàng)可見(jiàn)文本

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)值

通過(guò)Select提供的方法和屬性,我們可以對(duì)標(biāo)準(zhǔn)select下拉框進(jìn)行任何操作,但是對(duì)于非select標(biāo)簽的偽下拉框,需要使用XPath定位;

以上這篇python+selenium select下拉選擇框定位處理方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • django 鏈接多個(gè)數(shù)據(jù)庫(kù) 并使用原生sql實(shí)現(xiàn)

    django 鏈接多個(gè)數(shù)據(jù)庫(kù) 并使用原生sql實(shí)現(xiàn)

    這篇文章主要介紹了django 鏈接多個(gè)數(shù)據(jù)庫(kù) 并使用原生sql實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Pandas數(shù)據(jù)集的合并與連接merge()方法

    Pandas數(shù)據(jù)集的合并與連接merge()方法

    Pandas數(shù)據(jù)集的合并與連接(merge())是數(shù)據(jù)處理過(guò)程中常用的操作之一,在使用Pandas進(jìn)行數(shù)據(jù)集合并時(shí),可以使用merge()函數(shù)將兩個(gè)或多個(gè)數(shù)據(jù)集按照指定的列進(jìn)行合并,本文就來(lái)介紹一下,感興趣的可以了解一下
    2023-11-11
  • Pytorch-Geometric中的Message?Passing使用及說(shuō)明

    Pytorch-Geometric中的Message?Passing使用及說(shuō)明

    這篇文章主要介紹了Pytorch-Geometric中的Message?Passing使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python交換字典鍵值對(duì)的四種方法實(shí)例

    Python交換字典鍵值對(duì)的四種方法實(shí)例

    字典中有成對(duì)出現(xiàn)的鍵和值,但是字典中的鍵值對(duì)不是都能修改的,只有值才能修改,下面這篇文章主要給大家介紹了關(guān)于Python交換字典鍵值對(duì)的四種方法,需要的朋友可以參考下
    2022-12-12
  • 關(guān)于Python下載大文件時(shí)哪種方式速度更快

    關(guān)于Python下載大文件時(shí)哪種方式速度更快

    這篇文章主要介紹了關(guān)于Python下載大文件時(shí)哪種方式速度更快,通常,我們都會(huì)用 requests 庫(kù)去下載,這個(gè)庫(kù)用起來(lái)太方便了,需要的朋友可以參考下
    2023-04-04
  • Python讀寫mat文件操作指南(使用scipy.io)

    Python讀寫mat文件操作指南(使用scipy.io)

    Matlab是一個(gè)非常好用的矩陣計(jì)算分析軟件,然而隨著深度學(xué)習(xí)的發(fā)展,Python語(yǔ)言也逐漸成為人們的常用編程語(yǔ)言,這篇文章主要給大家介紹了關(guān)于Python使用scipy.io讀寫mat文件的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Python利用遞歸和walk()遍歷目錄文件的方法示例

    Python利用遞歸和walk()遍歷目錄文件的方法示例

    在日常開(kāi)發(fā)中經(jīng)常需要檢查一個(gè)“目錄或文件夾”內(nèi)部有沒(méi)有我們想要的文件或者文件夾,下面這篇文章主要給大家介紹了關(guān)于Python利用遞歸和walk()遍歷目錄文件的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-07-07
  • django配置連接數(shù)據(jù)庫(kù)及原生sql語(yǔ)句的使用方法

    django配置連接數(shù)據(jù)庫(kù)及原生sql語(yǔ)句的使用方法

    這篇文章主要給大家介紹了關(guān)于django配置連接數(shù)據(jù)庫(kù),以及原生sql語(yǔ)句的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python Pandas創(chuàng)建Dataframe數(shù)據(jù)框的六種方法匯總

    Python Pandas創(chuàng)建Dataframe數(shù)據(jù)框的六種方法匯總

    這篇文章主要介紹了Python中的Pandas創(chuàng)建Dataframe數(shù)據(jù)框的六種方法,創(chuàng)建Dataframe主要是使用pandas中的DataFrame函數(shù),其核心就是第一個(gè)參數(shù):data,傳入原始數(shù)據(jù),因此我們可以據(jù)此給出六種創(chuàng)建Dataframe的方法,需要的朋友可以參考下
    2023-05-05
  • Python德勞內(nèi)三角剖分詳解

    Python德勞內(nèi)三角剖分詳解

    這篇文章主要為大家詳細(xì)介紹了Python中德勞內(nèi)三角剖分的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04

最新評(píng)論