2018-12-18 Ubuntu服務(wù)器(無圖形界面)配置PhantomJS+selenium

實(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)該就可以正常使用了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容