一、谷歌無頭瀏覽器

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 創建一個參數對象,用來控制chrome以無界面模式打開
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable=gpu')
# 創建瀏覽器對象
browser = webdriver.Chrome(chrome_options=chrome_options)
# 訪問測試
browser.get('https://www.baidu.com')
print(browser.page_source)
二、Selenium規避檢測
- 現在不少網站有對 Selenium采取了檢測機制,比如正常情況下我們用瀏覽器訪問某寶的
windows.navigator.webdirver 的值為 undefind
,而使用 selenium訪問的值為true,那么如何規避呢?
- 只需要奢侈 Chromedriver的啟動參數即可。在啟動Chromedriver之前,將Chrom開啟驗證性功能參數
excludeSwitches
,它的值為 ['enable-automation']
;

from selenium import webdriver
# 實現無可視化界面
from selenium.webdriver.chrome.options import Options
# 實現規避檢測
from selenium.webdriver import ChromeOptions
# 創建一個參數對象,用來控制chrome以無界面模式打開
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable=gpu')
# 創建瀏覽器對象,並實現讓selenium 規避檢測
option = ChromeOptions()
option.add_experimental_option('excludeSwitched', ['enable-automaytion'])
browser = webdriver.Chrome(chrome_options=chrome_options, options=option)
# 訪問測試
browser.get('https://www.baidu.com')
print(browser.page_source)