這裡介紹Geb(瀏覽器自動化browser
automation)的解決方案Selenium + Headless Firefox。
[環境與工具]
[安裝chrome,非必須]
[環境與工具]
- Ubuntu Server 14.04 LTS
- JDK 1.8.0_91(注意!! jdk 1.7 Selenium 會有問題)
- 當Ubuntu沒有GUI,需要使用xvfb(x window virtual framebuffer)作為headless browser的graphic render。
- Web Driver
- firefox webdriver:geckodriver-v0.10.0
- google chrome webdriver:chromedriver_win32 / linux64
- 請自行下載並注意執行環境平台
[xvfb &
firefox]
- 安裝指令
- #sudo apt-get install firefox xvfb
- 安裝過程如果缺少字型
- #sudo apt-get update
- #sudo apt-get install -y xorg xvfb dbus-x11 xfonts-100dpi xfonts-75dpi xfonts-cyrillic
- 啟動xvfb聽graphic render,頻道0~99任選,1280x960x16為模擬視窗大小,目前使用此值運作正常
- #Xvfb :99 -ac -screen 0 1280x960x16
- 擷取xvfb畫面
- 安裝需要套件:#sudo apt-get install imagemagick
- #xwd -root -display :99 | convert xwd:- capture.png
[Selenium]
l 設定web
driver的存取權限
n #chmod +x geckodriver
l 執行指令,這裡僅用Runnable作為範例
n 使用Eclipse先export出Runnable Jar,放至Ubuntu
n #DISPLAY=:99 java –jar testCreateVPC.jar ${webdriver name}
${webdriver path}
[安裝chrome,非必須]
- 安裝步驟
- # sudo apt-get install libxss1 libappindicator1 libindicator7
- # wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- # sudo dpkg -i google-chrome*.deb
- 如安裝有錯誤訊息,請用以下指令強制安裝
- # sudo apt-get -f install
- 執行指令
- # google-chrome ${url}
- 在ubuntu下不能直接用 root 進行操作,可加上類似參數解決
- #DISPLAY=:99 google-chrome http://{IP} --user-data-dir '/home/ubuntu/tmp'
不好意思,可以請問chromedirver和google chrome 還有Selenium版本的新舊上會造成程式碼run不起來嗎
回覆刪除有可能,我都用最新版本的
回覆刪除