python快捷键设置_Python Selenium keys快捷键和键盘操作

前面的演示程序我们都使用的是鼠标操作,比如点击链接时,我们使用的是click()方法,可以模拟鼠标点击,那么在Python Selenium中怎么操作键盘呢?比如回车,CTRL+TAB这类键盘事件呢?这篇就是聊下怎么操作keys。

keyboard.jpeg

特殊按键和快捷键

键盘上有些特殊按键,比如CTRL键,SHIFT键;还有一些操作浏览器的快捷键,典型的就是使用CTRL+组合键。

这些键的使用都在selenium.webdriver.common.keys里

要操作按键的时候要imprt一下。下面程序就来演示一下,还是老规矩程序在py3.6测试通过:

#coding=utf-8

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

import time

#打开Chrome浏览器

driver = webdriver.Chrome(executable_path="C:/chromedriver.exe")

#浏览器最大化

driver.maximize_window()

#打开猿人学首页

driver.get('https://www.yuanrenxue.com')

#定位页面右上角的搜索图标并点击

try:

element = WebDriverWait(driver,10).until(

EC.presence_of_element_located((By.CLASS_NAME, "search-show"))

)

element.click()

except Exception:

print('not locate search-show')

driver.quit()

else:

search = driver.find_element_by_class_name('search-input')

search.send_keys(u'python教程')

time.sleep(5)

search.send_keys(Keys.RETURN)

time.sleep(5)

element = driver.find_element_by_tag_name('body')

element.send_keys(Keys.DOWN)

element.send_keys(Keys.DOWN)

time.sleep(5)

driver.quit()

还是拿猿人学网站举例,这是之前那篇selenium演示程序的代码,我们把wait改成显示等待了。有些地方加了sleep的原因是让操作步骤看得更清楚。

程序功能是点击网站右上角的搜索图标,在搜索框里输入Python教程并且按回车键。然后键盘点击向下按键两次。

输入按键是使用send_keys()方法。

回车键是Keys.RETURN,K是大写。我们在文件头已经import Keys。

其他的特殊按键还有:

Keys.TAB

tab键

Keys.SHIFT

shift键

Keys.CONTROL

CTRL键

Keys.ALT

Keys.SPACE

Keys.PAGE_UP

Keys.PAGE_DOWN

Keys.UP

Keys.DOWN

Keys.LEFT

Keys.RIGHT

Keys.F1

Keys.F5

Keys.F12

Keys.COMMAND

见名知意,挺简单的,上面只列举一部分按钮的写法,要看全部的请看你selenium安装路径的里的

C:\Python37\Lib\site-packages\selenium\webdriver\common

keys.py文件。这个路径是我的安装路径。

PS:看上面的向下按键是作用在body元素上的,动作要作用在正确的元素上,不然程序会报错,比如把向下按键作用在上面程序的input框上就会报错,因为input框又没法向下移动。比如向下,向上,CTRL+组合按键等等一般都作用在body元素上。

组合键的使用

上面举例了怎么操作键盘,只举例了单个按键的使用,还有经常使用CTRL+组合键的情况。再看演示程序,一看就明白。

#coding=utf-8

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

import time

#打开Chrome浏览器

driver = webdriver.Chrome(executable_path="C:/chromedriver.exe")

#浏览器最大化

driver.maximize_window()

#打开猿人学首页

driver.get('https://www.yuanrenxue.com')

time.sleep(5)

element = driver.find_element_by_tag_name('body')

element.send_keys(Keys.CONTROL,'a')

element.send_keys(Keys.CONTROL,Keys.F4)

上面是打开猿人学网站后使用ctrl+a全选,然后ctrl+f4关闭当前tab。

键入字符串

还有在输入框中输入字符串的情况,其实之前和上面的例子已经有了,还是使用send_keys()方法,参数传入字符串就好了,另外记住一点就是字符串要是unicode码的。

yrx_banner_pic.jpg

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。

***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.com 原创,没有猿人学授权,请勿以任何形式转载。***

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值