Selenium Python 中的動作鏈


Selenium Python 中的動作鏈是指按順序一起執行多個瀏覽器操作。Selenium 是一種流行的開源自動化測試工具,用於測試 Web 應用程式和自動化瀏覽器操作。Selenium 可以將多個瀏覽器操作連結在一起,這種多個操作的連結被稱為動作鏈。在本文中,我們將討論 Selenium Python 中的動作鏈是什麼,以及如何使用動作鏈來自動化我們的 Web 測試。

Selenium Python 中的動作鏈是什麼?

動作鏈是在網頁上按特定順序執行的一系列操作,以測試特定結果。這些操作可以是任何操作,例如點選元素、按鍵、輸入文字、滾動、拖放物件等。這些操作基本上是 DOM 操作,使用 Selenium Python 中的動作鏈完成。

示例

讓我們考慮一個使用者想要登入其帳戶並導航到網頁上特定頁面的示例。為此,使用者需要首先在其登入頁面中輸入其憑據,然後點選“登入”按鈕,然後導航到所需的頁面。這些操作可以使用 Selenium Python 中的動作鏈來自動化,方法是按正確的順序啟動所需的操作,並按順序執行這些操作。

建立動作鏈物件的語法

要建立動作鏈物件,您需要

  • 從 selenium.webdriver.common.action_chains 模組匯入 ActionChains 類

  • 建立該類的例項。

語法

from selenium.webdriver.common.action_chains import ActionChains

selenium.webdriver.common.action_chains 從 Python 的動作鏈庫匯入動作鏈模組。

driver = webdriver.Firefox()

webdriver.firefox() 建立一個 Web 驅動程式物件,該物件可在需要時用於執行瀏覽器操作。

Action = ActionChains(driver)

ActionChains(driver) 使用驅動程式物件建立動作鏈物件,該物件用於執行動作鏈。

如何在 Selenium Python 中使用動作鏈

現在可以使用動作鏈物件按順序執行多個操作來執行特定任務。ActionChains 類的 perform() 函式可用於按順序執行操作。

示例

讓我們以使用 Selenium Python 中的動作鏈在網頁上執行一系列操作的示例為例。

在此示例中,我們將:

  • 建立一個新的 Firefox 驅動程式例項

  • 導航到 tutorialspoint 的網頁(即 https://tutorialspoint.tw/

  • 找到我們要互動的元素

  • 建立一個動作鏈例項

  • 點選導航網頁上的特定元素。

  • 退出驅動程式

以上示例的程式碼如下所示

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains


# Create a new instance of the Chrome driver
driver = webdriver.Chrome()


# Navigate to the web page that we want to test
driver.get("https://tutorialspoint.tw/index.htm")


# Find the element that we want to interact with
element = driver.find_element("link text", "Login")


# Create an instance of ActionChains
actions = ActionChains(driver)


# Move the cursor to the element and click on it
actions.move_to_element(element).click()


# Enter some text into the element
# actions.send_keys("Selenium Python")


# Press the Enter key
# actions.send_keys(Keys.ENTER)


# Execute the ActionChain
actions.perform()


# Close the browser
driver.quit()

輸出

Selenium Python 中的動作鏈方法

可以使用各種動作鏈方法使用 Selenium 在 Python 中執行不同的操作,如下所示:

  • drag_and_drop() - 此方法可用於簡單地將源元素拖動到目標元素,方法是按住源元素上的滑鼠左鍵,將選定的元素移動到目標元素,然後釋放滑鼠按鈕。

  • drag_and_drop_by_offset() - 此方法可用於透過簡單地按住源元素上的滑鼠左鍵,然後將源元素移動到目標偏移元素,然後釋放滑鼠按鈕來將源元素拖動到目標元素。

  • click() - 此方法用於點選網頁上的特定元素。

  • double_click() - 此方法用於雙擊網頁上的特定元素。

  • context_click() - 此方法用於在網頁上的特定元素上單擊滑鼠右鍵。

  • click_and_hold() - 此方法用於左鍵單擊並按住網頁上特定元素上的滑鼠左鍵。

  • move_to_element() - 此方法將滑鼠游標移動到網頁上特定元素的中間。

  • move_to_offset() - 此方法用於執行將滑鼠游標移動到其原始位置的相對位置。

  • key_down() - 此方法用於執行按鍵,而無需釋放滑鼠。

  • key_up() - 此方法用於釋放修飾鍵

  • pause() - 此方法用於停止輸入特定持續時間。

  • perform() - 此方法用於按特定順序執行操作。

  • reset_actions() - 此方法用於重置所有操作。

結論

Selenium Python 中的動作鏈是一個強大的自動化工具,開發人員和測試人員可以使用它來自動化 Web 測試過程。藉助動作鏈,我們可以模擬實際的使用者操作,併為建立高質量軟體建立健壯且一致的測試用例。透過建立 ActionChains 類的物件,我們可以使用各種方法執行一系列操作。

更新於: 2023年4月17日

5K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告