實(shí)驗(yàn)室新裝的服務(wù)器,咳咳,新不新沒有關(guān)系的了
主要是學(xué)校的網(wǎng)絡(luò)首先要用自己的賬號登錄才能訪問外網(wǎng),否則只能訪問校內(nèi)網(wǎng)址、教育網(wǎng)(猜測)等某些網(wǎng)站。
安裝Firefox再用XManager連接打開網(wǎng)頁手動登錄實(shí)在不方便,所以就采用無圖形界面的PhantomJS瀏覽器和Selenium工具寫了一個命令行登錄的腳本,配置環(huán)境的過程記錄如下:
1.安裝Selenium
由于最新版本的Selenium已經(jīng)不支持PhantomJS,所以
conda install selenium==3.8.0
安裝支持PhantomJS的最后一個版本
2.安裝PhantomJS
首先嘗試官網(wǎng)下載,不知道是不是因?yàn)橐呀?jīng)停止維護(hù)開發(fā)的原因,官網(wǎng)的下載地址沒有點(diǎn)開,所以嘗試其他方式。
sudo apt install phantomjs
最新的應(yīng)該是下了400多MB的東西(有一次是apt-get裝的只有幾十MB),然而這么簡單好像一般都不行,使用的時(shí)候會出現(xiàn)一個:
selenium.common.exceptions.WebDriverException: Message:
Error - Unable to load Atom 'find_element' from file ':/ghostdriver/./third_party/webdriver-atoms/find_element.js'
百度搜到的解決方法是:
sudo apt-get install nodejs
sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm -g install phantomjs-prebuilt
第二條報(bào)錯沒安裝好像并沒有影響,最后一條安裝成功命令行中出現(xiàn)目錄結(jié)構(gòu)之類的內(nèi)容。然后如果是安裝在有圖形界面上的系統(tǒng)的話,此時(shí)應(yīng)該P(yáng)hantomJS應(yīng)該已經(jīng)可以配合selenium 3.8正常使用了。
加一句看PhantomJS(的版本)是否安裝成功:phantomjs --version。
3.設(shè)置PhantomJS在無圖形界面的情況下運(yùn)行
默認(rèn)安裝好的PhantomJS好像還是需要有display這個東西(就是如果你直接用Xshell連接服務(wù)器而不是用Xmanager時(shí),命令行執(zhí)行firefox會告訴你的錯誤信息相關(guān)的)
解決方案:
sudo vim /usr/bin/phantomjs
在合適的位置(緊接著已經(jīng)有的export語句)添加兩行:
export QT_QPA_PLATFORM=offscreen
export QT_QPA_FONTDIR=/usr/share/fonts
關(guān)掉當(dāng)前連接,打開一個新的連接應(yīng)該就可以正常使用了。