問題一:
先裝了火狐46.0.1(D:\Tool\FireFox),感覺有些地方不行,在另外一個路徑下安裝了火狐52.0.1(D:\Tool\FireFox52)驗證后感覺有問題,之后卸載了火狐52.0.1,結果原來可以運行登陸程序,報錯。
報錯內容:
Traceback (most recent call last):
File "D:\Tool\selenium\code\demo-6080登陸.py", line 3, in <module>
dr=webdriver.Firefox()
File "D:\Tool\selenium\Python\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 55, in __init__
self.binary = firefox_binary or capabilities.get("binary", FirefoxBinary())
File "D:\Tool\selenium\Python\lib\site-packages\selenium\webdriver\firefox\firefox_binary.py", line 50, in __init__
"binary = FirefoxBinary('/path/to/binary')\ndriver = webdriver.Firefox(firefox_binary=binary)")
Exception: Failed to find firefox binary. You can set it by specifying the path to 'firefox_binary':
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('/path/to/binary')
driver = webdriver.Firefox(firefox_binary=binary)
解決方法:
1. 卸載所有的火狐瀏覽器,不用重啟電腦,然后重新安裝火狐46.0.1版本,路徑:D:\Tool\FireFox ,再次運行程序,就OK了
報錯原因:
猜測同時裝過火狐46 和火狐52版本,把一些信息給修改了,導致selenium不知道找不到對應的路徑
問題二:
安裝完Python,用cmd運行Python時報錯
報錯內容:
‘python’不是內部或外部命令,也不是可運行的程序或批處理文件。
解決方法:
這是因為Windows會根據一個Path的環境變量設定的路徑去查找python.exe,如果沒找到,就會報錯。如果在安裝時漏掉了勾選Add python.exe to Path,那就要手動把python.exe所在的路徑D:\Python27添加到Path中。
如果你不知道怎么修改環境變量,建議把Python安裝程序重新運行一遍,記得勾上Add python.exe to Path。
PS:1)安裝Python 時一定要安裝pip和Add python.exe to path。默認Add Python.exe to path 不安裝。
2)安裝路徑最好是英文
問題三:(這部分轉載上海悠悠博客:http://www.cnblogs.com/yoyoketang/p/6111585.html)
selenium版本安裝后啟動Firefox出現異常,報錯。
報錯內容:'geckodriver' executable needs to be in PATH
報錯原因:selenium3不默認支持火狐瀏覽器,需要安裝geckodriver.exe驅動,並把路徑添加到環境變量中.selenium2默認支持火狐瀏覽器,不需要安裝驅動
解決方法:selenium3降級為selenium2
1)檢查pip環境
打開cmd,輸入pip ,等待一會兒不要急,如果出現提示:Did not provide a command 說明pip環境有問題,臨時解決辦法,輸入pip時候加上后綴pip.exe就可以了。下圖是正確的顯示方式:
2)pip查看selenium版本號
cmd中輸入:pip show selenium,查看selenium版本號,如果是selenium3就要降級,如果不是就后續的操作不要繼續了
3)pip降級selenium
為了避免與之前安裝的selenium版本沖突,先找到selenium3.0目錄:python\Lib\site-packages目錄
把里面selenium開頭的文件全部刪除就可以了。python所有的第三方包都在這個目錄下面。
打開cmd,輸入
pip install selenium==2.53.6(注意是兩個==,中間不要留空格,這里推薦2.53.6的版本)
>>pip install selenium==2.53.6
4)升級pip版本
a.在使用pip過程中如果出現下方紅色區域字樣,就是說pip版本過低了,建議升級
b.如何升級pip呢?看最后一句話:python -m pip install --upgrade pip
c.把上面對應的提示照着敲一遍就可以了
執行后,一定要重啟電腦(卸載了火狐瀏覽器,一定要重啟電腦,不然不起作用)
問題四:
在cmd中輸入pip后,報錯:Did not provide a command
正確的樣子:
解決方法:在cmd中輸入pip.exe即可
原因:環境變量的PATHEXT中缺少.EXE的文件名,輸入的內容【;.EXE】注意是英文
問題五:
安裝setuptools(不支持64位)時,遇到的坑
1)因為setuptools不支持64位,所以通過ez_setup.py來安裝,下載下來放在selenium\python中,執行ez_setup.py 報錯:
ImportError: No module named six
要先去安裝pip中six這部分,去官方下載【get-pip.py】
2)下載【get-pip.py】,放在selenium\python中
在cmd-》D:\Tool\selenium\Python-》python get-pip.py 記得聯網,自動執行
然后執行D:\Tool\selenium\Python-》python ez_setup.py 記得聯網,自動執行
PS:如何判斷是否安裝成功setuptools
方法一:
打開Python目錄的script文件夾查看 ,有easy_install.exe就成功
方法二:新打開一個命令提示符,輸入easy_install 報【error: No urls, filenames, or requirements specified (see --help)】 成功
問題五:如何驗證安裝成功selenium:
在IDLE(Python GUI中輸入【from selenium import webdriver】-》回車,沒任何錯誤提示代表成功
如果報如下錯誤,代表安裝selenium失敗:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
from selenium import webdriver
ImportError: No module named selenium
問題六:py代碼執行錯誤
新增一個py代碼,test.py
在shell中可以運行shell命令,在Python命令行中可以運行Python代碼。
“python test.py”是一個shell命令,而不是Python代碼,所以你應該在shell中運行它,但不是在Python命令行