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:
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')
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!