【selenium-08】模拟键盘事件

【selenium-08】模拟键盘事件


上节我们了解了浏览器对象的操作,这节我们将上节内容完善下,学下键盘事件,废话不多说,搞起来~

【selenium-08】模拟键盘事件

一、模拟键盘按键

从之前的内容我们了解到,在进行点击事件的时候,我们知道click()方法可以实现模拟鼠标点击,那么可能有人会问道,那怎么模拟Enter呢?

这样模拟:

  • 导入keys包

  • 直接调用send_keys()方法即可

例子:

之前我们这样做实现搜索:

#encoding=utf-8

from selenium import webdriver

import time

fuck_test=webdriver.Chrome()

fuck_test.get("https://www.baidu.com")

fuck_test.find_element_by_id("kw").send_keys("fuck_test")

fuck_test.find_element_by_id('su').click()

现在我们这样做:

#encoding=utf-8

from selenium import webdriver

from selenium.webdriver.common import keys

import time

fuck_test=webdriver.Chrome()

fuck_test.get("https://www.baidu.com")

fuck_test.find_element_by_id("kw").send_keys("fuck_test")

fuck_test.find_element_by_id("kw").send_keys(keys.Keys.ENTER)

就可实现通过定位密码框,不用定位搜索框实现回车搜索

相信大家在账户登录,文本换行的时候都会用到ENTER回车,很有用的一个键盘事件

其他的键盘事件,比如TAB,BACKSPACE,CTRL,ALT等请查看keys库,写的很全:

【selenium-08】模拟键盘事件

二、组合键盘事件

举个栗子:

#encoding=utf-8

from selenium import webdriver

from selenium.webdriver.common import keys

import time

fuck_test=webdriver.Chrome()

fuck_test.get("https://www.baidu.com")

fuck_test.find_element_by_id("kw").send_keys("fuck_test")

time.sleep(5)

fuck_test.find_element_by_id('kw').send_keys(keys.Keys.CONTROL+"a")#选中

fuck_test.find_element_by_id('kw').send_keys(keys.Keys.CONTROL+"x")#剪切

fuck_test.find_element_by_id("kw").send_keys("phyger")#重新输入

fuck_test.find_element_by_id("kw").send_keys(keys.Keys.ENTER)

上面的例子进行了:先输入“fuck_test”,发现输入有误,选中,剪切,重新输入“phyger”进行搜索的整个过程

主要意义是展示键盘组合事件的发生

三、关于send_keys()中文乱码的问题

在selenium2中,send_keys(“中文”)的时候回报编码错误的问题,我们只需要在中文前面加“u”即可,即:send_keys(u“中文”)

ok,今天就到这,短小精悍是我们的目标,祝你看的愉快~

兄dei~如果你觉得还行,可以分享到朋友圈,大家一起学习,共同进步~

【selenium-08】模拟键盘事件


扫码关注,精彩不容错过

【selenium-08】模拟键盘事件