centos7無GUI狀況安裝Xvfb、selenium、chrome

centos7服務器無GUI狀況下安裝使用Xvfb、selenium、chrome和selenium-server

2016年10月31日 15:24:24 閱讀數:12192更多html

我的分類: centosseleniumjava

 

</pre><pre>

最近須要用到selenium瀏覽器抓取,在windows下對照chrome瀏覽器開發的代碼,在linux服務器上換成phantomjs驅動後,卻不能運行了,經過截圖發現phantomjs渲染效果和chrome不一樣。因而考慮在centos上安裝chrome瀏覽器。python

下面是作的一些記錄。linux

1,centos7 安裝 google-chrome

(1) 添加chrome的repo源

 vi /etc/yum.repos.d/google.repoweb

[google]name=Google-x86_64baseurl=http://dl.google.com/linux/rpm/stable/x86_64enabled=1gpgcheck=0gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pubchrome

(2)安裝

yum update , 而後yum install google-chrome-stablevim

 

這時候在非root帳號下運行google-chrome會輸出沒有顯示器,沒法啓動之類的。windows

不知道爲何不能在root帳號下運行。centos

 

2, 安裝Xvfb

yum update瀏覽器

yum install Xvfb

yum -install libXfont

yum install xorg-x11-fonts*

 

3, 一個小測試

(1)安裝selenium、pyvirtualdisplay

pip install selenium

pip install pyvirtualdisplay

(2)下載chromedriver

從https://sites.google.com/a/chromium.org/chromedriver/home下載chromedriver

配置在PATH路徑或者在腳本中指定路徑  

(3) demo

  vim test.py

 

 

 
  1. # -*- coding:utf-8 -*-

  2.  
 
  1. from selenium import webdriver

  2. from pyvirtualdisplay import Display

  3.  
  4.  
  5. display = Display(visible=0, size=(800,600))

  6. display.start()

  7. driver = webdriver.Chrome("./chromedriver")

  8. driver.get("http://www.baidu.com")

  9. print driver.page_source

 
  1. driver.quit()

  2. display.stop()

 

指望輸出百度首頁的html文檔。

 

 

 

4 ,selenium server

1, nohup Xvfb -ac :7 -screen 0 1280x1024x8 > /dev/null 2>&1 &

2, export DISPLAY=:7

3, java -jar selenium-server-standalone-3.0.1.jar

4,

 
  1. <pre name="code" class="python"># -*- coding:utf-8 -*-

  2.  
  3.  
  4. from selenium import webdriver

  5. from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

  6.  
  7.  
  8. driver = webdriver.Remote(

  9. command_executor='http://127.0.0.1:4444/wd/hub',

  10. desired_capabilities=DesiredCapabilities.CHROME)

  11.  
  12.  
  13. driver.get("http://www.baidu.com")

  14. print driver.page_source

  15. driver.quit()

相關文章
相關標籤/搜索