在前文介绍的交互动作中,交互动作都是针对某个节点执行的,例如,对于某个input节点输入一个字符串,模拟单击某一个按钮等。但还有另外一类交互动作,它们没有特定的执行对象,比如,鼠标拖拽、键盘按键等,其实这些动作相当于全局事件,需要另外一种方式执行,这就是本节要讲的动作链。
动作链需要创建ActionChains对象,并通过ActionChains类的若干方法向浏览器发送一个或多个动作。
下面的例子会使用selenium动作链的move_to_element方法模拟鼠标移动的动作,自动显示京东商城首页左侧的每个二级导航菜单。
from selenium import webdriver
from selenium.webdriver import ActionChains
import time
browser = webdriver.Chrome('./webdriver/chromedriver')
try:
browser.get('https://www.jd.com')
# 创建ActionChains对象
actions = ActionChains(browser)
# 通过CSS选择器查找所有class属性值为cat
