1. 程式人生 > >【selenium】使用無介面的firefox,chrome

【selenium】使用無介面的firefox,chrome

開始語

最近心血來潮,將selenium升級了一下,發現在使用phantomJS的時候,console的輸出跟之前有些不一樣。 待我細心觀瞧之後發現在第一行,會有一個以前沒有的輸出,就是:

UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless ’

原來selenium的意思是在說:我跟phantomJS分手啦,請使用無頭的Chrome或者Firefox!

好吧!既然selenium跟phantomJS分手了,我就向前看,研究一下無頭的Chrome跟Firefox怎麼用吧!(雖然selenium跟phantomJS分手了,看在老朋友上,也還是可以繼續使用的)

headless(無頭)模式

headless模式,其實就是無介面版本的瀏覽器。這個並不難理解

其實從Firefox56、Chrome59開始,它們就支援headless模式了。其實使用它們的headless模式也挺好,也可以更方便我們除錯一些。

使用Firefox,Chrome headless模式

要在selenium裡使用headless版本的Firefox,Chrome的也不難,只需要像正常使用Firefox,Chrome那樣即可,只是需要稍稍新增幾行程式碼即可。

    chrome_options = webdriver.ChromeOptions()
    chrome_options.set_headless()
    brower = webdriver.Chrome(chrome_options=chrome_options)
    brower.get('https://www.baidu.com')
    brower.close()

Firefox的使用跟上述類似,只需要換成Firefox即可,可以說是很簡單了