解决NameError: name 'keys' is not defined;No module named Keys

继续上一篇内容中调用三大常用浏览器的小案例:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys#引入按键包
import time
browser = webdriver.Ie()#启动的IE浏览器
browser.maximize_window()
time.sleep(5)
browser.get('http://www.baidu.com/')
elem=browser.find_element_by_xpath("//*[@id='kw']")
elem.send_keys('python')
elem.send_keys(Keys.ENTER)#等于键盘键入回车
time.sleep(5)
browser.close()
browser.quit()

最起初我在执行from selenium.webdriver.common.Keys import Keys这句代码的时候一直报错:No module named Keys

这说明没有从selenium的安装目录中找到Keys包。解决方法是查看selenium的安装目录:

C:\Python27\Lib\site-packages\selenium\webdriver\common中是否存在Keys.py。我查找我本地的common文件中,发现只有keys.py,于是将原来引用中的大写换为小写from selenium.webdriver.common.keys import keys。

这样修改后重新执行后,报错name 'keys' is not defined,于是我将其修改为:from selenium.webdriver.common.keys import Keys

可以成功执行。说明Kyes是keys包中命名的按键包的名字,区分大小写,应该是规定的写法,而路径里面的keys包则需要根据安装路径中的keys包的名字来引入,否则将无法识别。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值