chrome的無頭(headless)模式
用selenium調用phantomjs瀏覽器的方式幾乎可以爬取任何網站,但是與調用chrome相比,phantomjs的穩定性還是不夠。如果能讓chrome不顯示界面,默默地后台運行,就再好不過了。
chome59以上版本對應的Chromedriver可以支持headless模式,使用方法如下:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome('E:/chromedriver.exe',chrome_options = chrome_options)
driver.get('https://www.baidu.com')
如果你使用的是59以下的版本,可以使用pyvirtualdisplay創建虛擬界面,再運行chromedriver:
from selenium import webdriver
from pyvirtualdisplay import Display
display = Display(visible=False,size=(1024,768))
display.start()
driver = webdriver.Chrome('E:/chromedriver.exe',chrome_options = chrome_options)
driver.get('https://www.baidu.com')
各版本Chrome對應的chromedriver見:selenium之 chromedriver與chrome版本映射表(更新至v2.40)