Python 中 Selenium 的 getAttribute() 函數(shù)詳解
Selenium 的 Python 模塊旨在提供自動(dòng)化測(cè)試過(guò)程。 Selenium Python 綁定包括一個(gè)用于編寫(xiě) Selenium WebDriver 功能/驗(yàn)收測(cè)試的簡(jiǎn)單 API。
擁有移動(dòng)能力并沒(méi)有多大好處。 我們想要與頁(yè)面交互,或者更準(zhǔn)確地說(shuō),與組成頁(yè)面的 HTML 片段交互。
本文將解釋如何使用 Selenium 的 getAttribute()
方法。
Selenium Python 中的 getAttribute() 函數(shù)
getAttribute() 方法可以檢索元素屬性,例如錨標(biāo)記的 href 屬性。 該函數(shù)最初將嘗試返回指定屬性的值。
如果不存在這樣的屬性,則返回具有相同名稱(chēng)的屬性值。 但是,如果元素中不存在屬性,則不會(huì)返回任何內(nèi)容。
什么是屬性
HTML 中的屬性定義元素的屬性。 屬性由名稱(chēng)-值對(duì)組成,這意味著每個(gè)屬性都有一個(gè)值和一個(gè)名稱(chēng)。
它們的值用雙引號(hào)括起來(lái),并在開(kāi)始標(biāo)記中提供。 HTML 屬性包括以下內(nèi)容:
< a target="_blank" href="#" rel="external nofollow" class="btn" > <img src="#" class="image" alt="myImage" > < input style="height:50px;" class="form-control" type="email" placeholder="Enter email" name="emailAddress" id="emailAddress" > < button οnclick="#" class="btn" value="" >Login< /button >
從上面的例子來(lái)看,HTML 標(biāo)簽有多種屬性和值。 例如,輸入標(biāo)簽具有許多屬性,例如類(lèi)、樣式、占位符、類(lèi)型、名稱(chēng)和id。
每個(gè)屬性都有一個(gè)用雙引號(hào)引起來(lái)的數(shù)字。 現(xiàn)在我們了解了屬性對(duì)于 HTML Web 元素的含義或它的顯示方式,讓我們檢查一下 getAttributes()
方法為何有用。
Selenium Python 中 getAttribute() 函數(shù)的優(yōu)點(diǎn)
考慮這樣一種情況,我們必須仔細(xì)檢查輸入字段上的占位符內(nèi)容、圖片源和字段大小。 getAttribute()
方法解決了這種情況下的問(wèn)題。
要獲取屬性的值,請(qǐng)找到保存該屬性的 Web 元素并使用 getAttribute()
方法。
讓我們通過(guò)一個(gè)實(shí)際示例來(lái)討論該方法的語(yǔ)法,如下所示。
# python GetElem.get_attribute("href")
從上面的語(yǔ)法可以看出,我們正在嘗試獲取 href 屬性。 現(xiàn)在,我們已經(jīng)了解了使用 getAttribute() 方法的基本語(yǔ)法,現(xiàn)在讓我們看一下使用 getAttribute() 方法獲取值的工作示例。
為了開(kāi)發(fā)基本的測(cè)試腳本,我們將使用一個(gè)虛擬網(wǎng)站。 不用再猶豫不決了,讓我們?cè)诶^續(xù)討論代碼之前先看看用例:
- 我們將首先訪(fǎng)問(wèn)虛擬站點(diǎn)。
- 在主頁(yè)前端,我們將獲得鏈接的 href 屬性。
- 我們還將獲得圖像的 src 屬性。
現(xiàn)在,讓我們看看這個(gè)用例的代碼。
示例代碼:
# python from selenium import webdriver chromeDriver = webdriver.Chrome() chromeDriver.get("https://www.inventicosolutions.com/") getElemByLink = chromeDriver.find_element_by_link_text("About Us") print(getElemByLink.get_attribute('href')) getElemByClass = chromeDriver.find_element_by_xpath("/html/body/main/div/div[1]/section[1]/div/div/div/div[7]/div/img") print(getElemByClass.get_attribute('src'))
輸出:
從上面的示例中可以看出,我們可以使用 getAttribute()
方法從 HTML 標(biāo)記中獲取任何屬性。 這種方法可以幫助我們進(jìn)行網(wǎng)頁(yè)抓取,從網(wǎng)站上獲取特定數(shù)據(jù),例如鏈接和圖像。
到此這篇關(guān)于Python 中 Selenium 的 getAttribute() 函數(shù)的文章就介紹到這了,更多相關(guān)Python getAttribute() 函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)圖片變亮或者變暗的方法
這篇文章主要介紹了python實(shí)現(xiàn)圖片變亮或者變暗的方法,涉及Python中Image模塊操作圖片的相關(guān)技巧,需要的朋友可以參考下2015-06-06Python的Twisted框架上手前所必須了解的異步編程思想
Twisted是Python世界中人氣最高的framework之一,異步的工作模式使其名揚(yáng)天下,這里為大家總結(jié)了Python的Twisted框架上手前所必須了解的異步編程思想,需要的朋友可以參考下2016-05-05Python實(shí)現(xiàn)功能全面的學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)功能全面的學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05python 同時(shí)運(yùn)行多個(gè)程序的實(shí)例
今天小編就為大家分享一篇python 同時(shí)運(yùn)行多個(gè)程序的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01Python實(shí)現(xiàn)將PowerPoint轉(zhuǎn)為HTML格式
有時(shí)我們需要將精心設(shè)計(jì)的PPT發(fā)布到網(wǎng)絡(luò)上以便于更廣泛的訪(fǎng)問(wèn)和分享,本文將介紹如何使用Python將PowerPoint轉(zhuǎn)換為HTML格式,需要的可以參考下2024-04-04python實(shí)現(xiàn)銀行賬戶(hù)系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)銀行賬戶(hù)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02解決Python 寫(xiě)文件報(bào)錯(cuò)TypeError的問(wèn)題
這篇文章主要介紹了解決Python 寫(xiě)文件報(bào)錯(cuò)TypeError的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10