最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

selenium獲取元素定位的方法總結(jié)(動(dòng)態(tài)獲取元素)

 更新時(shí)間:2024年02月01日 11:03:55   作者:墨痕訴清風(fēng)  
要想操作一個(gè)元素,首先應(yīng)該識(shí)別這個(gè)元素,人有各種的特征(屬性),可以通過(guò)其特征找到人,同理,界面的某個(gè)元素會(huì)有各種的特征(屬性),可以通過(guò)這個(gè)屬性找到這對(duì)象,本文給大家介紹了python?selenium獲取元素定位的8種方法,需要的朋友可以參考下

元素

要想操作一個(gè)元素,首先應(yīng)該識(shí)別這個(gè)元素。人有各種的特征(屬性),可以通過(guò)其特征找到人,如通過(guò)身份證號(hào)、姓名、家庭住址。同理,界面的某個(gè)元素會(huì)有各種的特征(屬性),可以通過(guò)這個(gè)屬性找到這對(duì)象。

例如:

driver.find_element(By.CSS_SELECTOR, 'img[title="點(diǎn)擊圖片重新獲取驗(yàn)證碼"]')

該代碼尋找屬性標(biāo)識(shí)著為 “點(diǎn)擊圖片重新獲取驗(yàn)證碼圖” 的圖片驗(yàn)證碼。

元素:由標(biāo)簽頭 + 標(biāo)簽尾 + 標(biāo)簽頭和標(biāo)簽尾包括的文本內(nèi)容

元素定位最終就是通過(guò)元素的信息或者元素的層級(jí)結(jié)構(gòu)來(lái)進(jìn)行元素定位

查看元素信息

選中元素,右鍵點(diǎn)擊“檢查”,即可查看到該控件的所有屬性 

元素定位

selenium提供了常用的8種方法:

定位一個(gè)元素

定位多個(gè)元素

  • 通過(guò)元素id定位
    • find_element_by_id

    • find_elements_by_id

  • 通過(guò)元素name定位

    • find_element_by_name

    • find_elements_by_name

  • 通過(guò)xpath表達(dá)式定位

    • find_element_by_xpath

    • find_elements_by_xpath

  • 通過(guò)完整超鏈接定位

    • find_element_by_link_text

    • find_elements_by_link_text

  • 通過(guò)部分鏈接定位

    • find_element_by_partial_link_text

    • find_elements_by_partial_link_text

  • 通過(guò)標(biāo)簽定位

    • find_element_by_tag_name

    • find_elements_by_tag_name

  • 通過(guò)類名進(jìn)行定位

    • find_element_by_class_name

    • find_elements_by_class_name

  • 通過(guò)css選擇器進(jìn)行定位

    • find_element_by_css_selector

    • find_elements_by_css_selector

通過(guò)元素id定位

find_element_by_id("kw")?

通過(guò)元素name定位

find_element_by_id("kw")?

通過(guò)xpath表達(dá)式定位

Xpath是一種在XMLHTML文檔中查找信息的語(yǔ)言,通過(guò)Xpath路徑來(lái)定位元素的時(shí)候也是分絕對(duì)路徑和相對(duì)路徑。

絕對(duì)路徑

鼠標(biāo)單機(jī)右鍵-Copy-Copy full XPath即可獲取其XPath絕對(duì)路徑

/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input

selenium通過(guò)xpath定位語(yǔ)句: 

find_element_by_xpath('/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input')

相對(duì)路徑

鼠標(biāo)單機(jī)右鍵-Copy-Copy XPath即可獲取其XPath相對(duì)路徑

//*[@id="kw"]

selenium通過(guò)xpath定位語(yǔ)句: 

find_element_by_xpath('//*[@id="kw"]')

相對(duì)路徑的xpath定位表達(dá)式更加簡(jiǎn)潔,但是偶然會(huì)出現(xiàn)錯(cuò)誤的尋址,但如果可以推薦使用相對(duì)路徑的xpath表達(dá)式。

通過(guò)完整超鏈接定位

find_element_by_link_text('文庫(kù)')

通過(guò)部分鏈接定位

find_element_by_partial_link_text('庫(kù)')

通過(guò)標(biāo)簽定位

HTML是通過(guò)tag來(lái)定義一類功能的,比如input是輸入,table是表格,tbody是表格主體等。每個(gè)元素其實(shí)就是一個(gè)tag,由于一個(gè)tag用來(lái)定義一類功能,一個(gè)網(wǎng)頁(yè)往往有很多同類tag,所以很難通過(guò)tag去區(qū)分不同的元素。

find_element_by_tag_name('input')?

通過(guò)類名進(jìn)行定位

find_element_by_class_name('s_ipt')

如果class的值中有空格,則需要借助CSS選擇器。

通過(guò)css選擇器進(jìn)行定位

Selenium官網(wǎng)當(dāng)中是更加推薦Css Selector()方法來(lái)進(jìn)行頁(yè)面元素的定位的,Css定位可以通過(guò)id選擇器、class選擇器、標(biāo)簽選擇器和屬性選擇器。

id選擇器

通過(guò) # 來(lái)定義,通過(guò)元素的id屬性來(lái)定位

find_element_by_css_selector("#kw")?

class選擇器

通過(guò) .來(lái)定義,通過(guò)元素的class屬性來(lái)定位

find_element_by_css_selector(".s_ipt")?

標(biāo)簽選擇器

通過(guò)標(biāo)簽的名字來(lái)定位元素

find_element_by_css_selector("input")?

屬性選擇器

find_element_by_css_selector('[id="kw"]')?
find_element_by_css_selector('input[id="kw"]')?

定位帶空格的復(fù)合class屬性

以百度上方欄目元素為例,其class屬性帶有空格。

class="s-top-left-new?s-isindex-wrap"

直接通過(guò)class屬性定位是會(huì)報(bào)錯(cuò)的,需要通過(guò)css selector按class屬性定位。

find_element_by_css_selector('[class="s-top-left-new?s-isindex-wrap"]')

selenium 4.0以后版本用法

from?selenium.webdriver.common.by?import?By
element?=?web.find_element(By.ID,'kw')
element?=?web.find_element(By.NAME,'wd')
element?=?web.find_element(By.CLASS_NAME,'s_ipt')
element?=?web.find_element(By.TAG_NAME,'input')
element?=?web.find_element(By.LINK_TEXT,'新聞')
element?=?web.find_element(By.PARTIAL_LINK_TEXT,'聞')
element?=?web.find_element(By.XPATH,'//*[@id="kw"]')
element?=?web.find_element(By.CSS_SELECTOR,'#kw')
element?=?web.find_element(By.CSS_SELECTOR,'[id="kw"]')
element?=?web.find_element(By.CSS_SELECTOR,'input[id="kw"]')

以上就是selenium獲取元素定位的8種方法總結(jié)(動(dòng)態(tài)獲取元素)的詳細(xì)內(nèi)容,更多關(guān)于selenium元素定位的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python隨機(jī)種子ranrandom seed的使用

    python隨機(jī)種子ranrandom seed的使用

    本文介紹了在Python中設(shè)置隨機(jī)種子random seed的方法,可以使用seed()函數(shù)設(shè)置隨機(jī)種子,確保你的隨機(jī)數(shù)生成過(guò)程是可重復(fù)的,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析

    人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析

    這篇文章主要為大家介紹了人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Python openpyxl讀取單元格字體顏色過(guò)程解析

    Python openpyxl讀取單元格字體顏色過(guò)程解析

    這篇文章主要介紹了Python openpyxl讀取單元格字體顏色過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python格式化輸出的幾種匯總

    Python格式化輸出的幾種匯總

    這篇文章主要介紹了Python格式化輸出的幾種匯總,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python中append函數(shù)用法講解

    python中append函數(shù)用法講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python中append函數(shù)用法講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Python異常處理與反射相關(guān)問(wèn)題總結(jié)

    Python異常處理與反射相關(guān)問(wèn)題總結(jié)

    今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著Python異常處理與反射展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • python 環(huán)境安裝及編輯器配置方法小結(jié)

    python 環(huán)境安裝及編輯器配置方法小結(jié)

    這篇文章主要介紹了python 環(huán)境安裝及編輯器配置方法小結(jié)的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • django做form表單的數(shù)據(jù)驗(yàn)證過(guò)程詳解

    django做form表單的數(shù)據(jù)驗(yàn)證過(guò)程詳解

    這篇文章主要介紹了django做form表單的數(shù)據(jù)驗(yàn)證過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 基于pycharm導(dǎo)入模塊顯示不存在的解決方法

    基于pycharm導(dǎo)入模塊顯示不存在的解決方法

    今天小編就為大家分享一篇基于pycharm導(dǎo)入模塊顯示不存在的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • pytorch 計(jì)算Parameter和FLOP的操作

    pytorch 計(jì)算Parameter和FLOP的操作

    這篇文章主要介紹了pytorch 計(jì)算Parameter和FLOP的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03

最新評(píng)論

安国市| 綦江县| 焉耆| 定襄县| 丹东市| 若尔盖县| 报价| 达州市| 林周县| 郴州市| 香格里拉县| 乐山市| 蛟河市| 兴国县| 临武县| 城口县| 普定县| 天津市| 澎湖县| 石林| 贞丰县| 大石桥市| 濮阳县| 桂东县| 彰武县| 太仆寺旗| 万盛区| 上杭县| 忻城县| 建德市| 临桂县| 宿州市| 保山市| 藁城市| 湖州市| 隆回县| 马鞍山市| 罗山县| 偏关县| 德惠市| 建阳市|