【selenium】对键盘的的操作(控制键盘的输入,以及键盘组合操作比如复制粘贴) ;对鼠标的操作(单击,双击,右击,拖拽)

对键盘的操作

注意如果要对键盘进行操作的话要先引入key包

from selenium.webdriver.common.keys import Keys
1. 控制键盘输入

上代码:

# 键盘事件
# 注意要对键盘按键使用的话要引入keys包
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://127.0.0.1:88/biz/user-login.html")
driver.implicitly_wait(10)

driver.find_element_by_id("account").send_keys("admin")
time.sleep(6)

driver.find_element_by_id("account").send_keys(Keys.TAB)
time.sleep(6)

driver.find_element_by_name("password").send_keys("你自己的禅道密码,嘿嘿不能把我的暴露了")
driver.find_element_by_name("password").send_keys(Keys.ENTER)
time.sleep(6)

driver.quit()

为什么这里是用禅道进行测试,而不直接在网易邮箱,淘宝之类的网站测试登录呢?
在这里插入图片描述
在这里插入图片描述
每次页面刷新定位到的输入账户地方的id和密码id都刷新,每次都变化,定位不到
为什么会刷新呢?------防止恶意登录
因为如果不刷新,定位到用户名和密码的输入框,此时如果不法分子想要破解别人的邮箱,就可以写一个自动化脚本,不停的尝试可能的密码,导致账户被盗号

2. 键盘的组合操作

直接上代码吧,一看就懂了
可以自己复制运行一下,懒得传运行视频,加油,学习就要勤快点

from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.implicitly_wait(10)

driver.find_element_by_id("kw").send_keys("乃万")
driver.find_element_by_id("su").click()
time.sleep(10)

# 复制
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
time.sleep(3)

# 剪切
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
time.sleep(3)

driver.find_element_by_id("kw").send_keys("张东升")
driver.find_element_by_id("su").click()
time.sleep(3)
driver.quit()

鼠标事件

常用的:

  • context_click() 右击
  • double_click() 双击
  • drag_and_drop() 拖动
  • move_to_element() 移动

此处要引入包:

from selenium.webdriver.common.action_chains import ActionChains
1. 鼠标的点击操作

代码,运行一下就懂了

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time

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

butten = driver.find_element_by_id("su")
# 右键定位到的百度一下的按钮
ActionChains(driver).context_click(butten).perform() 
time.sleep(3)

hao123 = driver.find_element_by_link_text("hao123")
#双击界面中的hao123
ActionChains(driver).double_click(hao123).perform() 
time.sleep(3)

driver.quit()
2. 鼠标的拖拽操作

这个地方没有演示,只有代码
拖拽操作一般用在测试登录的时候让拖拽完成验证之类的场景中

#定位元素的原位置
element = driver.find_element_by_id("s_btn_wr")
#定位元素要移动到的目标位置
target = driver.find_element_by_class_name("btn")
#执行元素的移动操作
ActionChains(driver).drag_and_drop(element, target).perform()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值