开机
go到www.google.com
搜索“ YouTube”
options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
user_data_dir = os.path.join(os.getcwd(), "chrome_user_data")
options.add_argument(f"user-data-dir={user_data_dir}")
service = webdriver.chrome.service.Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)
options = webdriver.FirefoxOptions()
options.set_preference("dom.webdriver.enabled", False) # Disable WebDriver flag
options.set_preference("dom.webnotifications.enabled", False) # Disable notifications
options.set_preference("media.peerconnection.enabled", False) # Disable WebRTC (can expose bot)
options.set_preference("network.http.referer.spoofSource", True) # Spoof referer
options.set_preference("privacy.trackingprotection.enabled", False) # Avoid bot flags
options.set_preference("useAutomationExtension", False)
options.set_preference("general.platform.override", "Win32") # Mimic Windows OS
options.set_preference("general.useragent.override", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36") # Fake User-Agent
#Start WebDriver
service = Service(GeckoDriverManager().install())
driver = webdriver.Firefox(service=service, options=options)
driver.get("https://www.google.com")
我也尝试执行以下操作:
profile_path = "/path/to/firefox/profile" options.add_argument(f"-profile {profile_path}")
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
driver.execute_script("window.navigator.webdriver = false;")
尽管有这些尝试,但我仍遇到验证码和自动化检测。
是否有一种有效的方法可以在Firefox中禁用自动化检测或配置Marionette,以防止在Python中使用硒时?
任何指导或解决方法都将不胜感激。
谢谢你!
您正在违反Google使用条款! - 他们将不允许您在无需支付API许可的情况下反复使用自动化。因此,为什么他们有反机器验验来保护自己的系统。 trory选择另一个网站以自动化您会做这些事情!