1. 程式人生 > >Selenium2+python自動化35-獲取元素屬性

Selenium2+python自動化35-獲取元素屬性

斷言 html element eva class baidu val 百度輸入 之前

前言

通常在做斷言之前,都要先獲取界面上元素的屬性,然後與期望結果對比。本篇介紹幾種常見的獲取元素屬性方法。

一、獲取頁面title

1.有很多小夥伴都不知道title長在哪裏,看下圖左上角。

技術分享圖片

2.獲取title方法很簡單,直接driver.title就能獲取到

技術分享圖片

二、獲取元素的文本

1.如下圖這種顯示在頁面上的文本信息,可以直接獲取到

2.查看元素屬性:<a id="setf" target="_blank" onmousedown="return ns_c({‘fm‘:‘behs‘,‘tab‘:‘favorites‘,‘pos‘:0})

" href="//www.baidu.com/cache/sethelp/help.html">把百度設為主頁

</a>

技術分享圖片

3.通過driver.text獲取到文本

技術分享圖片

三、獲取元素的標簽

1.獲取百度輸入框的標簽屬性

技術分享圖片

四、獲取元素的其它屬性

1.獲取其它屬性方法:get_attribute("屬性"),這裏的參數可以是class、name等任意屬性

2.如獲取百度輸入框的class屬性

技術分享圖片

五、獲取輸入框內的文本值

1、如果在百度輸入框輸入了內容,這裏輸入框的內容也是可以獲取到的

技術分享圖片

六、獲取瀏覽器名稱

1.獲取瀏覽器名稱很簡單,用driver.name就能獲取到了

(代碼參考第七點)

七、參考代碼

# coding:utf-8
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
time.sleep(2)
title = driver.title
print title
text = driver.find_element_by_id("setf").text
print text
# 獲取元素的標簽
tag = driver.find_element_by_id("kw").tag_name
print tag
# 獲取元素的其它屬性
name = driver.find_element_by_id("kw").get_attribute("class")
print name
# 獲取輸入框的內容
driver.find_element_by_id("kw").send_keys("yoyoketang")
value = driver.find_element_by_id("kw").get_attribute("value")
print value
# 獲取瀏覽器名稱
print driver.name

Selenium2+python自動化35-獲取元素屬性