1. 程式人生 > 其它 >chrome瀏覽器88版本隱藏webdriver方法

chrome瀏覽器88版本隱藏webdriver方法

技術標籤:環境搭建seleniumchrome

隱藏webdriver

最近不小心把chrome瀏覽給升級了,然後前幾天有用到selenium去訪問某寶。就除了一些問題,,,
然後找了半天原因,說是要把selenium中的webdriver屬性給隱藏才行。然後跟著其他大佬的教程改了一下,大部分都是說在訪問之前新增這句程式碼
Object.defineProperty(navigator, 'webdriver', { get: () =>undefined })
然後我跟著做,結果發現還是不能隱藏。
在這裡插入圖片描述
然後我在虛擬機器中嘗試了一下,發現可以,結果是undefined,看了下瀏覽器版本,還是7+,所以就想著應該是瀏覽器版本的問題,但是吧,給降了重灌就太費勁了。

後來在崔大大的文章中找了答案,88版的chrome。在執行之前新增一句:

chrome_options.add_argument("--disable-blink-features=AutomationControlled")

在這裡插入圖片描述
完美隱藏。。。
完整程式碼如下:

from selenium import webdriver
import time

url = "https://www.baidu.com"
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])# 設定為開發者模式
options.add_argument("--disable-blink-features=AutomationControlled")
browser = webdriver.Chrome(options=options)
browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument",{
    'source':'''Object.defineProperty(navigator, 'webdriver', {
      get: () =>undefined'''
}
)
browser.get('https://www.baidu.com')
time.sleep(20) # 休息一下,自己去look,look有沒有隱藏成功
browser.close()