selenium2 頁面元素

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

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

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

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

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

例:

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

使用這個方法發(fā)送簡單的按鍵時間或者填充表單字段:

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

這個方法還可以用來設(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

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號