首页 > 技术文章 > Selenium3+python3自动化(十)--操作元素(键盘和鼠标事件)

canglongdao 2020-08-28 17:19 原文

前言

在前面几篇中重点介绍了一些元素的定位方法,定位元素后,接下来就是操作元素了。下面讲解操作元素(键盘和鼠标事件)

一、简单操作

1.点击(鼠标左键)页面按钮:click()

2.清空输入框:clear()

3.输入字符串:send_keys()

4.打开百度后,一般为了保证输入的正确性,可以先清空输入框,然后输入搜索关键字

# coding:utf-8
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_id("su").click()
driver.find_element_by_name("wd").clear()
driver.find_element_by_name("wd").send_keys("xixi")
driver.find_element_by_id("su").submit() #也可以使用.click()

 二、submit提交表单

1.在前面百度搜索案例中,输入关键字后,可以直接按回车键搜索,也可以点搜索按钮搜索

2.submit()一般用于模拟回车键

三、键盘操作

1.selenium提供了一整套的模拟键盘操作事件

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
import time
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_id("su").click()
driver.find_element_by_name("wd").clear()
driver.find_element_by_name("wd").send_keys("xixi")
#模拟enter键操作回车按钮
driver.find_element_by_id("su").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(Kesy.TAB)

这里只是列了一些常用的,当然除了键盘事件,也有鼠标事件

四、鼠标悬停事件

1.鼠标不仅仅可以点击(click),鼠标还有其它的操作,如:鼠标悬停在某个元素上,鼠标右击,鼠标按住某个按钮拖拽

2.鼠标事件需要先导入模块:from selenium.webdriver.common.action_chains import ActionChains

  perform() 执行所有ActionChains中的行为

  move_to_element() 鼠标悬停

3.这里以百度页面设置按钮为例

# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
time.sleep(2)
s=driver.find_element_by_id("s-usersetting-top")
#鼠标悬停在搜索设置按钮上
ActionChains(driver).move_to_element(s).perform()

 4.除了常用的鼠标悬停事件外,还有

右击鼠标:context_click()

双击鼠标:double_click()

替换上面案例中对应的鼠标事件就可以了

推荐阅读