鼠标和键盘事件——selenium篇4

from selenium import webdriver

driver = webdriver.Firefox()

driver.get('http://maiziedu.com/')

driver.maximize_window()     #最大化浏览器

 

ActionChains类与输入事件

在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供

1.from selenium.webdriver.common.action_chains import ActionChains

2.ActionChains(driver) :用于生成模拟用户行为

3.perform():执行存储行为

 

鼠标事件

 

鼠标悬停操作及分析

 

 

from selenium import webdriver
# 引入 ActionChains 类
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
driver.get("https://www.baidu.cn")

# 定位到要悬停的元素
above = driver.find_element_by_link_text("设置")
# 对定位到的元素执行鼠标悬停操作
ActionChains(driver).move_to_element(above).perform()

 程序分析

from selenium.webdriver import ActionChains     #导入提供鼠标操作的 ActionChains 类。
ActionChains(driver)      #调用 ActionChains()类, 将浏览器驱动 driver 作为参数传入。
move_to_element(above)
context_click()     #用于模拟鼠标右键操作, 在调用时需要指定元素定位。
perform()    #执行所有 ActionChains 中存储的行为, 可以理解成是对整个操作的提交动作。

  

 键盘事件:send_keys()

from selenium.webdriver.common.keys import Keys

 

键盘事件实例

from selenium import webdriver
# 引入 Keys 模块
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

# 输入框输入内容
driver.find_element_by_id("kw").send_keys("seleniumm")

# 删除多输入的一个 m
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)


# 输入空格键+“教程”
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys("教程")

# ctrl+a 全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a')

# ctrl+x 剪切输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'x')

# ctrl+v 粘贴内容到输入框
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v')

# 通过回车键来代替单击操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)
driver.quit()

注:在使用键盘按键方法前需要先导入 keys 类

 

posted @ 2018-08-24 14:24  pathbreaker  阅读(122)  评论(0)    收藏  举报