linux 安装浏览器和驱动
linux 安裝瀏覽器和驅動
1、火狐瀏覽器及驅動-centos6 64
-
火狐瀏覽器-在centos6.10自帶,而且瀏覽器版本為52版本
-
下載對應的火狐驅動,52版本-對應0.17版本-查看地址
-
查看火狐的版本
firefox -V -
添加到環境變量
# 解壓 tar -zxvf geckodriver-v0.17.0-linux64.tar.gz # 新建文件夾 mkdir /usr/local/seleniumdriver# 移動到文件夾 mv geckodriver /usr/local/seleniumdriver# 編輯/ect/profile文件 vim /etc/profile# 在文件最后添加 export PATH=$PATH:/usr/local/seleniumdriver# 保存退出運行 source /etc/profile# 運行geckodriver -V geckodriver 0.17.0注意:運行項目最好放在英文目錄下
2、火狐瀏覽器及驅動-centos7 64
-
火狐默認的版本為60版本(在線安裝命令yum -y install firefox)
-
使用0.19的火狐驅動,解壓保存在/usr/local/seleciumdriver 文件夾中
-
添加到/etc/profile文件中
# 編輯文件 vim /etc/profile# 瀏覽器驅動 export PATH=$PATH:/usr/local/seleniumdriver# 保存退出運行 source /etc/profile# 運行geckodriver -V geckodriver 0.19.0 -
運行時,可以通過當前目錄生成geckodriver.log 文件查看error
-
以root用戶運行直接運行:python 123.py
報錯:
selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status: 1坑點:這通過查看geckodriver.log可以發現:
1565086641745 geckodriver INFO geckodriver 0.19.0 1565086641748 geckodriver INFO Listening on 127.0.0.1:56020 1565086641834 mozrunner::runner INFO Running command: "/usr/lib64/firefox/firefox" "-marionette" "-profile" "/tmp/rust_mozprofile.3LBcykrEU73V" Running Firefox as root in a regular user's session is not supported. ($XDG_RUNTIME_DIR is /run/user/1000 which is owned by admin.)上面錯誤,不支持在普通用戶的會話中以root身份運行Firefox。解決方法:切換到其他用戶執行即可。
-
測試代碼
import time from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.baidu.com") time.sleep(3) driver.quit()在遠程服務器直接運行沒問題,但是在win10 pycharm進行遠程運行時報錯:
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.兩個問題:1、無法發現火狐驅動 2、使用遠程連接時(使用pycharm或者其他連接工具xshell均是如此),是默認連接無界面的linux,導致無法啟動,可以修改代碼為:
import time from selenium import webdriver # 設置為無頭模式 profile = webdriver.FirefoxOptions() profile.add_argument("-headless") # 指定火狐的目錄 driver =webdriver.Firefox(executable_path="/usr/local/seleniumdriver/geckodriver",options=profile) driver.get("http://www.baidu.com") print(driver.page_source) time.sleep(3) driver.quit()重點1:目前發現部署測試項目到linux有界面的服務器上,需要添加無頭模式以及指定驅動位置
重點2:在VM中的有界面linux,登錄上去之后,直接運行則無需(添加無頭模式以及指定驅動位置兩個操作),所以也可以用win連接linux桌面,再進行執行代碼即可
重點3:本來部署有界面的服務器,就是為了能在服務器跑,同時有界面的運行更加符合預期,所以嘗試結合jenkins進行操作,就是以本地用戶在進行操作
?
-
3、谷歌瀏覽器及驅動的安裝-centos7 64
- 下載 谷歌瀏覽器下載
- 下載文件名為rpm結尾安裝包-google-chrome-stable_current_x86_64.rpm
- 輸入命令進行安裝yum localinstall google-chrome-stable_current_x86_64.rpm
- 安裝的版本為:Google Chrome76.0.3809.87 (正式版本) (64 位)
- 安裝驅動,同上步驟,尋找對應的版本進行解壓,放置在/usr/local/seleciumdriver 文件夾中
- 刷新權限source /etc/profile
- 驗證chromedriver --version
- 運行代碼即可。
總結
以上是生活随笔為你收集整理的linux 安装浏览器和驱动的全部內容,希望文章能夠幫你解決所遇到的問題。