Selenium-Selenium配置無頭瀏覽器+規避檢測


一、谷歌無頭瀏覽器

image

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']

image

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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM