Rumah >Java >javaTutorial >Bagaimana Saya Boleh Mencegah Pengesanan Selenium dengan Mengubah Suai Bendera `navigator.webdriver`?
Apabila cuba mengautomasikan tugas menggunakan Selenium dan Chrome, tapak web tertentu mungkin menyekat permintaan berdasarkan pengesanan Selenium pelayar yang dipacu. Satu kaedah pengesanan yang biasa melibatkan pendedahan pembolehubah DOM yang dipanggil navigator.webdriver, yang mengembalikan benar jika penyemak imbas dikawal oleh Selenium.
Untuk memintas pengesanan ini, pertimbangkan pendekatan berikut:
from selenium import webdriver options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option("useAutomationExtension", False) driver = webdriver.Chrome(options=options, executable_path=r"path/to/chromedriver.exe")
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
driver.execute_cdp_cmd("Network.setUserAgentOverride", {"userAgent": "new_user_agent"})
options.add_argument("--disable-blink-features=AutomationControlled")
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"path/to/chromedriver.exe") driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})") driver.execute_cdp_cmd("Network.setUserAgentOverride", {"userAgent": "new_user_agent"}) driver.get("https://www.example.com")
The Antara muka NavigatorAutomationInformation termasuk bendera navigator.webdriver, yang kembali benar apabila penyemak imbas dikawal oleh WebDriver. Walau bagaimanapun, mengubah parameter ini boleh menyebabkan isu navigasi atau pengesanan jika digunakan secara tidak wajar.
Versi terkini Selenium menawarkan ciri tambahan untuk kawalan WebDriver, termasuk perintah execute_cdp_cmd() untuk melaksanakan arahan DevTools. Menggunakan arahan ini menyediakan cara yang mudah untuk mengubah suai bendera navigator.webdriver dan menghalang pengesanan Selenium.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Mencegah Pengesanan Selenium dengan Mengubah Suai Bendera `navigator.webdriver`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!