如何使用Python在Selenium中执行双击元素操作?
我们可以借助Action Chains类在Selenium中执行元素的双击操作。这些类通常用于自动化诸如上下文菜单点击、鼠标按钮操作、按键和鼠标移动之类的交互。
这些类型的操作主要在复杂的场景中很常见,例如拖放和将鼠标悬停在页面上的元素上。Action Chains类的这些方法由高级脚本使用。我们可以借助Selenium中的Action Chains来操作DOM。
Action chain对象以队列的形式实现ActionChains,然后执行perform()方法。调用perform()方法时,将执行action chains上的所有操作。
创建Action Chain对象的步骤如下:
首先,我们需要导入Action Chain类,然后将驱动程序作为参数传递给它。
现在,所有action chains的操作都可以借助此对象来完成。
语法
创建Action Chains对象的语法:
from selenium import webdriver
# import Action chains from selenium.webdriver import ActionChains # create webdriver object driver = webdriver.Firefox() # create action chain object 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 #browser exposes an executable file #Through Selenium test we will invoke the executable file which will then #invoke actual browser driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") # to maximize the browser window driver.maximize_window() #get method to launch the URL driver.get("https://tutorialspoint.com/index.htm") #to refresh the browser driver.refresh() # identifying the source element source= driver.find_element_by_xpath("//*[text()='GATE Exams']"); # action chain object creation action = ActionChains(driver) # double click operation and perform action.double_click(source).perform() #to close the browser driver.close()
广告