解決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包的名字來引入,否則將無法識別。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章