如何在 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 对象后,我们可以像执行排队链一样,逐个执行多个操作。
double_click() - 此方法对页面元素执行双击操作。
语法
double_click(args)
其中 args 是要双击的元素。如果省略,则单击当前鼠标位置。
#element
source = driver.find_element_by_id("name")
#action chain object
action = ActionChains(driver)
# double click operation
action.double_click(source)
示例
双击操作的代码实现。
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/index.htm")
#刷新浏览器
driver.refresh()
#识别源元素
source = driver.find_element_by_xpath("//*[text()='GATE Exams']");
#创建 ActionChains 对象
action = ActionChains(driver)
#双击操作并执行
action.double_click(source).perform()
#关闭浏览器
driver.close()

