Python+selenium 中pycharm執行時錯誤集合
一.python selenium環境搭建
1)python安裝
注意新增python.exe編輯器和配置環境變數
選擇:Add python.exe to path
Entire feature will be install on local hard driver
驗證:mysql>python
檢視:版本號mysql>python -V
2)pycharm安裝
。。。。。。。。。。。。。。。。。。
3)Selenium:線上安裝
mysql>python -m pip install selenium
驗證:from selenium import webdriver 不報錯就成功
檢視:版本和儲存放的位置
3)瀏覽器的配置
1. 瀏覽器安裝好之後,下載對應瀏覽器版本號的驅動檔案Geckodriver.exe並將它放在python的安裝目錄D:/proframe files/python35.
2. 火狐瀏覽器安裝FireBug和FirePath兩個外掛
3.注意:安裝瀏覽器的版本號,低版本號的在安裝完成之後要設定成“不自動檢查升級”。
1. 無法匯入import package
分析:既然這些類都在工程中,那麼import不成功就是因為路徑沒對應,事實上是pycharm預設該專案的根目錄為source目錄,所以import使用絕對路徑而不是相對路徑的話,就會從專案的根目錄中查詢,而不是我們希望的其中的/src目錄,所以import不成功。
修改:file–>setting–>project:server–>project structure->+Add Content Root找到package。
將放package的資料夾設定為source,這樣import的模組類等,就是通過這些source資料夾作為根路徑來查詢,也就是在這些source資料夾中查詢import的東西。
3.pip版本過低,需要更新
這個是當前使用的pip版本過低需要線上更新,線上下載並安裝:doc命令列輸入:Python -m pip install --upgrade pip
檢視pip是否是最新版本: cmd > pip install selenium
擴充套件:線上安裝各種包:mysql>pip install <包名>
列出已安裝的包:mysql>pip list
4.Firefox和geckodriver驅動匹配問題
描述:在執行開啟Firefox瀏覽器的指令碼時報錯:如圖
定位問題:之前用的是Firefox 48version和geckodriver 0.16.0 執行指令碼時總報錯,網上找解決方案。
解決:後來重新安裝Firefox 55後,再次執行指令碼,問題解決。
注意:geckodriver.exe檔案存放的位置。放在python的安裝目錄下面/d:/Program File(x86)/python 3.5.2
補充:selenium之 chromedriver與chrome版本對映表(更新至v2.35)
5. xampp安裝後 Apache和MySQL無法啟動
先查詢80埠和443埠是否被佔用:
mysql>netstat -ano,列出所有埠的情況。找到80埠對應的PID。
mysql>netstat -aon|findstr "80",分號裡面是對應埠號,回車檢視。
mysql>tasklist|findstr "pid"檢視佔用埠的程式。
備註:如果是埠被佔用,可以找到佔用的程式然後將其結束,或者通過xampp中Apache對應的config中的配置檔案進行修改。Config--httpd.conf修改80埠,config--httpd-ssl.conf修改443埠。修改完後要儲存TXT配置檔案。
Cmd中執行 檔案目錄中的httpd.exe 報錯:無效資料夾,檔案路徑的問題。
注意:安裝路徑不能有中文,資料夾名稱不能有空格。
重灌。ok
去掉編輯框中字串下劃線和波浪線,選擇synatx,Esc退出
Tab鍵設定
6.安裝路徑問題
安裝xampp和python後在使用過程中老是出現問題,在解決問題的過程中發現導致這些問題的原因都是因為檔案路徑的問題。比如:python下載的安裝包自動安裝在python的安裝目錄下(D盤),python預設建立的專案project是在C盤目錄下的。在pycharm中編輯.py檔案時,會使用編輯器和匯入包等需求,而它在呼叫或是載入這些程式時預設選擇相對路徑(專案project所在路徑)去尋找。然而這些程式都在python的安裝目錄下,那當然找不到了,所以就出現報錯。同樣的xampp也會出現路徑的問題。
總結:在安裝像這樣的工程軟體時最好:1.安裝時安裝位置選擇預設;2.檔名稱為字串且不可以有空格;3.如果要安裝在其他的盤(D盤)中,請一定記住在建立和工程有關的專案是路徑一定放在其對應的安裝目錄下。
7.提示please specify a different SDK name
分析:百度了好久沒有解決方法,去Google上搜了搜發現,是因為我有兩個*現有*虛擬環境具有相同的名稱(即彼此相同;不同於我正在建立的那個)。刪除其中一個之後,我就可以建立新的虛擬環境。
8.pycharm中關於匯入包和路徑的問題
問題描述:通過cmd把所需用的包已經安裝成功,但是在專案中卻無法匯入。
問題分析:通過cmd安裝的所有包所存放的位置都是在和python的安裝路徑相同的地方存放的。然而如果你新建的專案路徑在不同的位置,則你新建的專案中的關聯配置檔案中將不會有你之前安裝的包。如果要在新的專案中呼叫這些包就必須在新建的專案中新增包。
解決:選擇add local...從本地新增(有時候在show all中也可以)
方式一:
注意:要勾上那兩個小勾,表示從安裝的packages中尋找,我們通過cmd安裝的所有呼叫包都在site—backages中。Base interpreter要選擇python的安裝目錄。
方式二:直接點選右側紅色的“+”,進入搜尋需要呼叫的包,然後新增。
9.python中在程式呼叫開啟外面的檔案時,路徑正確的寫法。
在單個測試unit中某個模組時,路徑前面需要加上“..”表示接上一層目錄。
在整體測試時要去掉點點。