selenium+Python(鼠标和键盘事件)

       本篇总结了 web 页面常用的一些操作元素方法,可以统称为行为事件
有些 web 界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮)。

1 简单操作

1.点击(鼠标左键)页面按钮:click()
2.请空输入框:clear()
3.输入字符串:send_keys()
4.打开测试部落论坛后,点击放大镜搜索图标,一般为了保证输入的正确性,可以先清
空下输入框,然后输入搜索关键字

# coding:utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com ")
driver.implicitly_wait(10)
driver.find_element_by_id("kw").click()
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("selnium")

2.submit 提交表单

1.在前面百度搜索案例中,输入关键字后,可以直接按回车键搜索,也可以点搜索按钮搜索。
2.submit()一般用于模拟回车键

# coding:utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com ")
driver.implicitly_wait(10)
driver.find_element_by_id("kw").send_keys("selnium")
# submit() 模拟enter键提交表单
driver.find_element_by_id("kw").submit()

3 键盘操作

1.selenium 提供了一整套的模拟键盘操作事件,前面 submit()方法如果可行的话,可
以试试模拟键盘事件
2.模拟键盘的操作需要先导入键盘模块:from selenium.webdriver.common.keys
import Keys
3.模拟 enter 键,可以用 send_keys(Keys.ENTER)

# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.baidu.com ")
driver.implicitly_wait(10)
driver.find_element_by_id("kw").click()
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("selnium")
# 模拟enter键操作回车按钮
driver.find_element_by_id("kw").send_keys(Keys.ENTER)

4.其它常见的键盘操作:
键盘 F1 到 F12:send_keys(Keys.F1) 把 F1 改成对应的快捷键
复制 Ctrl+C:send_keys(Keys.CONTROL,'c')
粘贴 Ctrl+V:send_keys(Keys.CONTROL,'v')
全选 Ctrl+A:send_keys(Keys.CONTROL,'a')
剪切 Ctrl+X:send_keys(Keys.CONTROL,'x')
制表键 Tab: send_keys(Keys.TAB)
这里只是列了一些常用的,当然除了键盘事件,也有鼠标事件

4 鼠标悬停事件

1.鼠标不仅仅可以点击(click),鼠标还有其它的操作,如:鼠标悬停在某个元素上,鼠标右击,鼠标按住某个按钮拖到
2.鼠标事件需要先导入模块:from selenium.webdriver.common.action_chainsimport ActionChains
perform() 执行所有 ActionChains 中的行为
move_to_element() 鼠标悬停
3.这里以百度页面设置按钮为例
4.除了常用的鼠标悬停事件外,还有
右击鼠标:context_click()
双击鼠标:double_click()

# coding:utf-8
from selenium import webdriver
# 引入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
# 使用方法
brower = webdriver.Firefox()
brower.get("http://www.baidu.com")
# 定位到需要右击的元素并赋值给rigth_click
right_click = brower.find_element_by_id("kw")
# 对定位到的元素进行右击操作。
ActionChains(brower).context_click(right_click).perform()
原文地址:https://www.cnblogs.com/101718qiong/p/7874061.html