美好的一天, 我正在使用Python中的Firefox和Firefox一起自动浏览器测试,但是我一直遇到阻止脚本进行的验证码。此外,我收到一个错误,说明...

问题描述 投票:0回答:0

开机

go到

www.google.com

搜索“ YouTube”
  • 单击YouTube链接
  • 搜索视频 播放视频
  • 否,码头出现在此过程中,我怀疑这是因为Firefox检测到它是自动化的。
  • 在Chrome中,我能够使用以下选项减少自动化检测:
  • 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)
  • 为了在Firefox中取得类似的目标,我已经尝试了以下内容,但它们似乎没有用:
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选择另一个网站以自动化您会做这些事情!

    

python selenium-webdriver firefox automation marionette
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.