selenium+python3 web自動化獲取html頁面元素屬性值方法

Damon天色發表於2018-02-02

馬上過年了,公司的產品停止了開發,測試組最近組織了web自動化的學習工作。博主本身是個小白,在學習中,不斷遇到比較棘手的問題,以後會把所有遇到的問題在這這裡和大家共同分享下,希望我所遇到的坑可以讓你避免再次跳進去,而是可以輕鬆的越過它。通過寫自動化的小程式,逐漸培養自己的興趣,終成大神。

例如下面這個html栗子:

<div class="notActive" style="display: block;">

頁面未啟用的時候  style="display: block;"

<div class="notActive" style="display: none;">

頁面啟用的時候    style="display: none;"

在這種情況下,根本無法通過定位頁面是否有class這個類,來判斷頁面是否啟用。

在這種情況下,諮詢了一下前端的同事,由於他們雖然懂JS但是對python還是不太瞭解的,這個求助失敗。

對於剛開始學習web自動化的功能測試人員來說,遇到問題如何組織語言去百度也顯的非常有必要。剛開始的時候,我就直接去百度:“selenium如何獲取sytle屬性”,百度出一堆關於用js改sytle屬性值的辦法,驢脣不對馬嘴,很無奈。

然後再次百度,發現用beautifulsoup可以實現,不過對於剛開始學習的我來說,看得雲裡霧裡,一頭矇蔽。

最後發現了,python有一個函式可以直接獲取元素的類,這就是沒有看API的最大的硬傷。方法是直接定位這個class,然後呼叫

.get_attribute("style")就可以直接獲取該style的屬性值啦。

具體判斷程式碼如下

if ("block"inwd.find_element_by_class_name("notActive").get_attribute("style")):
    print("未啟用")
else:
    print("已啟用")




相關文章