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.com/

  • 找到我们要交互的元素

  • 创建一个动作链实例

  • 点击导航网页上的特定元素。

  • 退出驱动程序

以上示例的代码如下所示

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.com/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+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.