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)