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()输出

数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP