Selenium 中的 Actions 类是什么?


Selenium 可以借助 ActionsChains 类执行鼠标移动、按键、悬停在元素上、拖放操作等操作。我们必须创建 ActionChains 类的实例,该实例将所有操作保存在队列中。

然后调用 perform 方法,该方法实际上按队列中排序的顺序执行任务。我们必须添加语句 from selenium.webdriver import ActionChains 来使用 ActionChains 类。

语法

#Method 1 - chained pattern

e =driver.find_element_by_css_selector(".txt")

a = ActionChains(driver)

a.move_to_element(e).click().perform()

#Method 2 - queued actions one after another

e =driver.find_element_by_css_selector(".txt")

a = ActionChains(driver)

a.move_to_element(e)

a.click()

a.perform()

在以上两种方法中,操作都是按调用的顺序依次执行的,一个接一个。

ActionChains 类的 方法如下所示:

  • click - 用于点击网页元素。

  • click_and_hold - 用于在网页元素上按住鼠标左键。

  • double_click - 用于双击网页元素。

  • context_click - 用于右键点击网页元素。

  • drag_and_drop_by_offset - 用于首先在源元素上按下鼠标左键,导航到目标偏移量,最后释放鼠标。

  • drag_and_drop - 用于首先在源元素上按下鼠标左键,导航到目标元素,最后释放鼠标。

  • key_up - 用于释放修饰键。

  • key_down - 用于按键,但不释放。

  • move_to_element - 用于将鼠标移动到网页元素的中间。

  • move_by_offset - 用于将鼠标移动到当前鼠标位置的偏移量。

  • perform - 用于执行排队的操作。

  • move_to_element_by_offset - 用于将鼠标移动到特定网页元素的偏移量。偏移量是从网页元素的左上角测量的。

  • release - 用于在网页元素上释放按住的鼠标按钮。

  • pause - 用于停止所有输入,持续时间以秒为单位。

  • send_keys - 用于向当前活动元素发送按键。

  • reset_actions - 用于删除本地和远程保存的所有操作。

让我们使用 ActionChains 方法点击链接 - 隐私政策。

示例

from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')

#implicit wait time
driver.implicitly_wait(5)

#url launch
driver.get("https://tutorialspoint.com/about/about_careers.htm")

#identify element
s = driver.find_element_by_link_text("Privacy Policy")

#instance of ActionChains
a= ActionChains(driver)

#move to element
a.move_to_element(s)

#click
a.click().perform()

#get page title
print('Page title: ' + driver.title)

#driver quit
driver.close()

输出

更新于: 2022年2月8日

608 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.