Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Menghalang Pengesanan Selenium dengan Mengubah Suai Bendera `navigator.webdriver` dalam Chrome?

Bagaimanakah Saya Boleh Menghalang Pengesanan Selenium dengan Mengubah Suai Bendera `navigator.webdriver` dalam Chrome?

Patricia Arquette
Lepaskan: 2024-12-25 04:41:11
asal
165 orang telah melayarinya

How Can I Prevent Selenium Detection by Modifying the `navigator.webdriver` Flag in Chrome?

Mengubah suai navigator.webdriver Flag untuk Mencegah Pengesanan Selenium dalam Chrome

Automasi dipacu WebDriver sering menghadapi pengesanan, dengan tapak web menggunakan langkah untuk mengenal pasti terkawal pelayar. Untuk mengelakkan pengesanan ini, Selenium menawarkan kaedah untuk mengubah suai bendera navigator.webdriver dalam Chrome.

1. execute_cdp_cmd() Kemas Kini

Dengan pengenalan execute_cdp_cmd(), anda boleh melaksanakan arahan Google Chrome DevTools menggunakan Selenium. Ini memberi kuasa kepada anda untuk mengubah bendera navigator.webdriver dengan mudah.

2. Mencegah Pengesanan Selenium

Untuk mengelakkan pengesanan Selenium, pertimbangkan pendekatan berikut:

  • Tambahkan hujah '--disable-blink-features=AutomationControlled'
  • Putar ejen pengguna menggunakan execute_cdp_cmd()
  • Tetapkan sifat navigator.webdriver kepada undefined
  • Kecualikan koleksi suis pengautomatan daya
  • Matikan useAutomationExtension
3. Kod Contoh

Menggabungkan kaedah ini, coretan kod Selenium yang berkesan ialah:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'})
print(driver.execute_script("return navigator.userAgent;"))
driver.get('https://www.httpbin.org/headers')
Salin selepas log masuk
4. Latar Belakang dan Awas

Mengikut Draf Editor W3C, bendera navigator.webdriver menunjukkan kawalan jauh ejen pengguna. Adalah penting untuk berhati-hati, kerana mengubah suai parameter ini boleh menyekat navigasi dan menyerlahkan contoh WebDriver.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Pengesanan Selenium dengan Mengubah Suai Bendera `navigator.webdriver` dalam Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan