一、鼠标事件
在WebDriver中,与鼠标操作相关的方法都封装在ActionChains类中。
ActionChains类提供了鼠标操作的常用方法:
- perform() 执行ActionChains类中存储的所有行为
- content_click() 右击
- double_click() 双击
- drag_and_drop() 拖动
- move_to_element() 鼠标悬停
实例如下:
from selenium import webdriver
#导入ActionChains类
from selenium.webdriver import ActionChains
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
#定位到要悬停的元素
above = driver.find_element_by_link_text("更多")
#对定位的元素执行鼠标悬停操作
ActionChains(driver).move_to_element(above).perform()
#ActionChains(driver)表示调用ActionChains类,把浏览器驱动driver作为参数传入
#move_to_element(above) 用于模拟鼠标移动到元素上
# 右击
ActionChains(driver).context_click(above).perform()
# 双击
ActionChains(driver).double_click(above).perform()
# 拖动, 第一个参数是起始元素,也就是被拖动的元素,第二个参数是目标元素,也就是拖动到的位置
ActionChains.(driver).drag_and_drop(startEle, targetEle).perform()
二、键盘操作
在使用键盘按键方法前需要先导入Keys类
- send_keys(Keys.BACK_SPACE) 删除键
- send_keys(Keys.SPACE) 空格键
- send_keys(Keys.TAB) 制表符
- send_keys(Keys.ESCAPE) 回退键
- send_keys(Keys.ENTER) 回车键
- send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+a)
- send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+c)
- send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+x)
- send_keys(Keys.CONTROL,‘v’) 粘贴(Ctrl+v)
from selenium import wendriver
from selenium.webdriver.common.keys import Keys
driver = WebDriver.Chrome()
driver.get("https://www.baidu.com")
ele = driver.find_element_by_id("kw")
# 对文本框输入内容
ele.send_keys("selenium")
#删除多输入的一个m
ele.send_keys(Keys.BACK_SPACE)
#输入空格键+"教程"
ele.sends_keys(Keys.SPACE)
ele.send_keys("教程")
#用回车键代替单击操作
ele.send_keys(Keys.ENTER)
三、获取验证信息
- title 用于获取当前页面的标题
- current_url 用于获取当前页面的URL
- text 用于获取当前页面的文本信息