selenium2 頁面元素

2022-05-31 17:52 更新
class selenium.webdriver.remote.webelement.WebElement(parent,id_,w3c=False)

代表一個(gè)DOM元素。通常所有和文檔互動(dòng)的有趣操作都要通過這個(gè)接口執(zhí)行。

所有的方法調(diào)用都會(huì)做一個(gè) '新鮮檢查' 來確認(rèn)引用的元素仍然可用,這本質(zhì)上確定了這個(gè)元素是否還與DOM相連。如果檢測(cè)失敗,會(huì)拋出 ?StaleEleementReferenceException?異常,并且下面的所有對(duì)這個(gè)接口的調(diào)用都會(huì)失敗。

get_attribute(name) - 返回元素指定的屬性

這個(gè)方法首先會(huì)嘗試返回元素指定的屬性,如果屬性不存在,它會(huì)返回和屬性名相同的字符串,如果沒有屬性是這個(gè)名字,返回?None?。 被認(rèn)為是真假的值會(huì)返回布爾類型,其他所有的非?None?值都會(huì)以字符串的形式返回。屬性不存在,返回?None?。

例:

# Check if the "active" CSS class is applied to en element
is_active = "active" in target_element.get_attribute("class")
is_displayed() - 元素對(duì)用戶是否可見
is_enabled() - 元素是否可用
is_selected() - 元素是否被選中,可用來檢測(cè)單選或者復(fù)選按鈕是否被選中
screenshot(filename) - 獲取當(dāng)前元素的截圖,有IOError會(huì)返回False,文件名要包含完整路徑
send_keys(*value) - 模擬向元素輸入

使用這個(gè)方法發(fā)送簡(jiǎn)單的按鍵時(shí)間或者填充表單字段:

form_textfiled = driver.find_element_by_name("username")
form_textfiled.send_keys("admin")

這個(gè)方法還可以用來設(shè)置文件:

file_input = driver.find_element_by_name('profilePic')
file_input.send_keys('path/to/profilepic.gif')
submit() - 提交表單
value_of_css_property(property_name) - CSS屬性的值
id - selenium使用的內(nèi)部ID

這個(gè)主要是內(nèi)部使用,簡(jiǎn)單的使用案例是用來做類似于檢測(cè)兩個(gè)元素是否關(guān)聯(lián)到相同的元素上,可以用?==?來比較:

if element1 == element2:
    print("These 2 are equal")
location - 元素在可渲染的畫布上的位置
location_once_scrolled_into_view

這個(gè)屬性改變不會(huì)發(fā)出警告,用這個(gè)來檢查元素在屏幕的位置以方便我們點(diǎn)擊它,這個(gè)方法可能造成元素滾動(dòng)到視圖里。 返回屏幕左上角的位置,元素不可見返回?None?。

parent - WebDriver實(shí)例的內(nèi)部引用,元素是從哪里發(fā)現(xiàn)的
rect - 元素尺寸和位置的dict
screenshot_as_base64 - 當(dāng)前元素截圖的base64編碼字符串
screenshot_as_png - 當(dāng)前元素截圖的二進(jìn)制數(shù)據(jù)
size - 元素的尺寸
tag_name - 元素的標(biāo)簽名
text - 元素的文本


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)