如何在 Selenium 中使用 Python 实现鼠标在元素上的释放操作?

selenium web driverautomation testingsoftware testing

我们可以借助 Selenium 中的 Action Chains 类来实现鼠标在元素上的释放操作。这些类通常用于自动化交互,例如上下文菜单点击、鼠标按钮操作、按键和鼠标移动。

这些类型的操作主要常见于复杂的场景,例如拖放和悬停在页面上的元素上。Action Chains 类的方法被高级脚本所利用。我们可以借助 Selenium 中的 Action Chains 来操作 DOM。

Action Chain 对象以队列的形式实现 ActionChains,然后执行 perform() 方法。调用 perform() 方法后,动作链上的所有操作都将执行。

创建动作链对象的方法如下:

  • 首先,我们需要导入动作链类,然后将驱动程序作为参数传递给它。

  • 现在,所有动作链的操作都可以借助此对象完成。

语法

创建 Action Chains 对象的语法 -

from selenium import webdriver

# 导入 Action Chains

from selenium.webdriver import ActionChains

# 创建 webdriver 对象

driver = webdriver.Firefox()

# 创建 Action Chain 对象

action = ActionChains(driver)

创建 Action Chains 对象后,我们可以像执行排队链一样,逐个执行多个操作。

release() - 此方法用于释放鼠标在元素上按住的按钮。

语法

release(args)

其中 args 是鼠标释放的元素。如果省略参数,则释放鼠标的当前位置。


#element
source = driver.find_element_by_id("name")

#action chain object
action = ActionChains(driver)

# 移动到元素操作

action.click(source)

# 释放鼠标

action.release(source)

# 执行操作

action.perform()

示例

释放鼠标操作的代码实现。

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
#浏览器暴露可执行文件

#通过 Selenium 测试,我们将调用该可执行文件,然后它将

#调用实际的浏览器

driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")

#最大化浏览器窗口

driver.maximize_window()

#使用 get 方法打开 URL

driver.get("https://www.tutorialspoint.com/about/about_careers.htm")

#刷新浏览器

driver.refresh()

#识别源元素

source= driver.find_element_by_xpath("//*[text()='Company']");

#创建操作链对象

action = ActionChains(driver)

#点击元素

action.click(source)

#释放元素

action.release(source)

#执行操作
action.perform()
#to close the browser
driver.close()

相关文章