Web 元素包裝器

概述

WebElementWrapper 提供與已定位元素互動的方法。 它操作由 find_element()find_elements() 設定的當前活動元素。

全域實例 web_element_wrapperje_web_runner 匯入。

基本互動

from je_web_runner import web_element_wrapper

web_element_wrapper.click_element()                     # 點擊元素
web_element_wrapper.input_to_element("Hello World")     # 輸入文字
web_element_wrapper.clear()                             # 清除內容
web_element_wrapper.submit()                            # 提交表單

屬性檢查

web_element_wrapper.get_attribute("href")        # 取得 HTML 屬性
web_element_wrapper.get_property("checked")      # 取得 JS 屬性
web_element_wrapper.get_dom_attribute("data-id")  # 取得 DOM 屬性

狀態檢查

web_element_wrapper.is_displayed()    # 檢查是否可見
web_element_wrapper.is_enabled()      # 檢查是否可用
web_element_wrapper.is_selected()     # 檢查是否被選取(核取方塊/單選)

CSS 屬性

web_element_wrapper.value_of_css_property("color")

下拉選單處理

select = web_element_wrapper.get_select()
# 使用 Selenium 的 Select API:
# select.select_by_visible_text("選項一")
# select.select_by_value("opt1")
# select.select_by_index(0)

元素截圖

web_element_wrapper.screenshot("element")  # 儲存為 element.png

切換元素

find_elements() 回傳多個元素時,使用 change_web_element() 切換活動元素:

# 切換到第 3 個元素(索引 2)
web_element_wrapper.change_web_element(2)
web_element_wrapper.click_element()

元素驗證

web_element_wrapper.check_current_web_element({
    "tag_name": "input",
    "enabled": True
})

方法參考

方法

參數

說明

click_element()

點擊當前元素

input_to_element()

input_value: str

輸入文字到元素

clear()

清除元素內容

submit()

提交表單

get_attribute()

name: str

取得 HTML 屬性值

get_property()

name: str

取得 JavaScript 屬性值

get_dom_attribute()

name: str

取得 DOM 屬性值

is_displayed()

檢查元素是否可見

is_enabled()

檢查元素是否可用

is_selected()

檢查元素是否被選取

value_of_css_property()

property_name: str

取得 CSS 屬性值

screenshot()

filename: str

對元素截圖

change_web_element()

element_index: int

透過索引切換活動元素

check_current_web_element()

check_dict: dict

驗證元素屬性

get_select()

取得下拉選單的 Select 物件