WebDriver 管理器

概述

WebdriverManager 管理多個 WebDriver 實例以支援並行瀏覽器自動化。 它維護一個活動 WebDriver 清單,並提供建立、切換和關閉的方法。

透過工廠函式 get_webdriver_manager() 取得管理器。

建立管理器

from je_web_runner import get_webdriver_manager

# 使用 Chrome 建立
manager = get_webdriver_manager("chrome")

# 使用 Firefox 搭配選項建立
manager = get_webdriver_manager("firefox", options=["--headless"])

管理多個瀏覽器

manager = get_webdriver_manager("chrome")

# 新增第二個瀏覽器實例
manager.new_driver("firefox")

# 切換到 Chrome(索引 0)
manager.change_webdriver(0)
manager.webdriver_wrapper.to_url("https://example.com")

# 切換到 Firefox(索引 1)
manager.change_webdriver(1)
manager.webdriver_wrapper.to_url("https://google.com")

# 僅關閉 Firefox
manager.close_choose_webdriver(1)

# 關閉當前瀏覽器
manager.close_current_webdriver()

# 關閉並退出所有瀏覽器
manager.quit()

關鍵屬性

屬性

型別

說明

webdriver_wrapper

WebDriverWrapper

WebDriver 操作包裝器

webdriver_element

WebElementWrapper

元素操作包裝器

current_webdriver

WebDriver | None

當前活動的 WebDriver 實例

方法

方法

參數

說明

new_driver()

webdriver_name: str, options: List[str] = None, **kwargs

建立新的 WebDriver 實例

change_webdriver()

index_of_webdriver: int

透過索引切換 WebDriver

close_current_webdriver()

關閉當前 WebDriver

close_choose_webdriver()

webdriver_index: int

透過索引關閉指定 WebDriver

quit()

關閉並退出所有 WebDriver

Note

呼叫 quit() 時,會同時清除所有已儲存的 TestObjectRecord 項目。