前言
當準備開始爬蟲的第三個練習爬取淘寶美食的時候罩缴,根據(jù)學習教程需要用到selenium(一款比較優(yōu)秀的web端自動化測試框架),已經(jīng)配合使用谷歌瀏覽器的驅(qū)動chromedriver聂宾。最開始我覺得只要下載了selenium安裝包以后,然后在下載chromedriver(我以為是插件一類诊笤,安裝在Google瀏覽器就行)就完事OK了系谐,但是不然,現(xiàn)在簡單記述一下我配置的過程讨跟,我的電腦系統(tǒng)是MacOS蔚鸥。
安裝selenium
- 我查到的安裝方法大致分為兩類,一種是用
pip install -U selenium
但是試了很多次都報錯许赃,以現(xiàn)在的水平也暫時看不太懂, - 轉(zhuǎn)戰(zhàn)另外一種安裝方式馆类,用
homebrew
混聊,貌似最近幾次我框架安裝的時候遇到問題,brew install selenium-server-standalone
,成功 - 安裝完以后一臉懵逼乾巧,根據(jù)提示句喜,啟動服務
selenium-server -port 4444
,啟動了再根據(jù)提示0.0.0.0:4444
,這個就是說外網(wǎng)也可以訪問,然后我用本地訪問沟于,發(fā)現(xiàn)服務啟動了咳胃,z至此selenium算是安裝成功了
selenium服務啟動成功
pycharm以及Python環(huán)境遇到的坑
-
當selenium安裝結束以后,我在pycharm新建項目準備測試的時候旷太,發(fā)現(xiàn)selenium無法導入一直爆紅
(from selenium import webdriver
)展懈,
執(zhí)行項目報錯
ImportError: No module named selenium
销睁,
后來反復查看確實是安裝成功了,但是項目引用不到存崖,忘記從哪里看到冻记,有可能是路徑問題,我看了一眼selenium的安裝路徑来惧,也沒問題
brew info selenium-server-standalone
-
后來經(jīng)過反復查詢發(fā)現(xiàn)在Python環(huán)境的site-packages目錄下冗栗,確實沒有selenium,然后去新建項目的時候發(fā)現(xiàn)系統(tǒng)中轉(zhuǎn)了幾套Python環(huán)境供搀,但是系統(tǒng)自帶的確實沒有selenium
最終在另外一套帶有selenium的環(huán)境中新建項目隅居,解決??,順便記錄一下路徑
/usr/local/lib/python2.7/site-packages/seleniu
chromedriver的坑
- 本想今天一天時間在學習一套爬蟲項目葛虐,但是前邊的坑坑坑就弄了一上午胎源,下面說下chromedriver
- 在前言中我覺得chromedriver是個插件,下載了就好挡闰,但是最后下載了然后寫測試代碼,理論上講應該呼起一個谷歌瀏覽器乒融,但是
from selenium import webdriver
dr = webdriver.Chrome()
報錯信息如下
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH
第一感覺是把chromedriver
放下項目目錄之下,項目能自動搜躲到摄悯,但是不能赞季,后來經(jīng)過百般Google,查到一個辦法
import os
chromedriver = "/usr/local/Cellar/chromedriver/2.28/bin/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
driver.quit()
依舊報錯奢驯,后來又是偶然申钩,發(fā)現(xiàn)chromedriver不單單是光下載就行了,也是一個單獨的軟件吧瘪阁,所以依舊使用homebrew進行了安裝brew install chromedriver
,然后回看bin目錄/usr/local/Cellar/chromedriver/2.28/bin
撒遣,將其復制到上邊的代碼chromedriver =
的后邊,見證奇跡的時刻管跺,運行終于呼起了Google瀏覽器
- 然后還不算完义黎,我覺得這樣的路徑肯定太特殊了,既然涉及到bin豁跑,
那么一定有一種配置環(huán)境變量的方式廉涕,結果真有??????
vim ~/.bash_profile
export PATH=$PATH:ChromeDriver目錄(注意,是存放的目錄艇拍,不是這個文件,就是bin的目錄)
:wq
source ~/.bash_profile
簡言之狐蜕,就是在 ~/.bash_profile 文件中加入
export PATH=$PATH:ChromeDriver的bin路徑
- OK,結束