所謂瀏覽器的無頭模式headless,就是瀏覽器在運(yùn)行時(shí)處于后臺(tái)操作的模式,不會(huì)看到瀏覽器打開,也就不會(huì)干擾你手頭的工作竭贩。對(duì)于自動(dòng)化測(cè)試和網(wǎng)絡(luò)爬蟲都有很大的價(jià)值。
早期我們使用 phantomJS 瀏覽器來實(shí)現(xiàn)這種模式莺禁,隨著 Chrome 和 Firefox 都加入了無頭模式留量, Selenium 逐漸停止對(duì) phantomJS 的支持。
Chrome 的 headless
Chrome 的無頭模式哟冬,通過在打開瀏覽器前加入 --headless 參數(shù)配置即可實(shí)現(xiàn)楼熄。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options # => 引入Chrome的配置
import time
配置
ch_options = Options()
ch_options.add_argument("--headless") # => 為Chrome配置無頭模式
在啟動(dòng)瀏覽器時(shí)加入配置
driver = webdriver.Chrome(chrome_options=ch_options) # => 注意這里的參數(shù)
driver.get('http://baidu.com')
driver.find_element_by_id('kw').send_keys('測(cè)試')
driver.find_element_by_id('su').click()
time.sleep(2)
只有截圖才能看到效果咯
driver.save_screenshot('./ch.png')
driver.quit()
Firefox 的 headless
Firefox 瀏覽器的無頭模式配置與 Chrome 差不多,只是寫法有差異浩峡。
from selenium.webdriver.firefox.options import Options # => 引入Firefox配置
from selenium import webdriver
import time
配置瀏覽器
ff_options = Options()
ff_options.headless = True # => 設(shè)置無頭模式為 True
driver = webdriver.Firefox(firefox_options=ff_options) # => 注意這里的參數(shù)
driver.get('http://baidu.com')
driver.find_element_by_id('kw').send_keys('測(cè)試')
driver.find_element_by_id('su').click()
time.sleep(2)
截圖看效果
driver.save_screenshot('./ff.png')
driver.quit()
作者:貓與測(cè)試
鏈接:http://www.reibang.com/p/081522a5e7f3
來源:簡(jiǎn)書
著作權(quán)歸作者所有可岂。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處翰灾。