购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 鼠标操作实战

WebDriver提供了多种关于鼠标的操作方法,如模拟鼠标指针悬停、右击和双击等。本节进行鼠标操作实战。

2.5.1 鼠标指针悬停实战

本案例中使用link_text定位到百度首页的“设置”按钮。首先导入ActionChains类,再使用move_to_element()方法将鼠标指针悬停到某个元素上面。ActionChains()方法需要驱动传入才生效,perform()方法用于执行所有动作,示例如下:

from selenium import webdriver
from time import sleep
# 导入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains  
dr = webdriver.Chrome()
dr.get("https://www.baidu.com")
setting = dr.find_element_by_link_text("设置")
ActionChains(dr).move_to_element(setting).perform()
sleep(1)
dr.find_element_by_link_text("搜索设置").click()
sleep(5)

鼠标指针悬停到“设置”按钮后,弹出列表框,单击“搜索设置”选项,如图2.21所示。

039-01.jpg

图2.21 鼠标指针悬停案例界面

2.5.2 鼠标右键实战

本案例中,首先将鼠标指针定位到要右击的元素上,然后通过context_click()方法执行鼠标右键操作,示例如下:

# 导入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains  
dr = webdriver.Chrome()
dr.get("https://www.baidu.com")
sleep(3)
# 定位“百度一下”按钮元素
context = dr.find_element_by_id('su')
# 模拟鼠标右键操作
ActionChains(dr).context_click(context).perform()
sleep(5)

结果如图2.22所示。

039-02.jpg

图2.22 鼠标右键案例界面

2.5.3 鼠标双击实战

本案例中,首先将鼠标指针定位到要双击的元素上,然后通过double_click()方法模拟鼠标双击操作,示例如下: JuOi+gL+3Ov2si9HF6g3rBZQnA9bmB1TgxuNwgfiQfLQPQhjqZsh1uYBgOjWJfCu

from time import sleep
from selenium.webdriver.common.action_chains import ActionChains  # 导入ActionChains类
from selenium import webdriver
dr = webdriver.Chrome()
dr.get("https://www.baidu.com")
sleep(3)
dr.find_element_by_id('kw').send_keys('双击一下')
# 定位“百度一下”按钮元素
double = dr.find_element_by_id('su')
# 模拟鼠标双击操作
ActionChains(dr).double_click(double).perform()
sleep(5)
点击中间区域
呼出菜单
上一章
目录
下一章
×