Я использую селен с Firefox в Python для автоматизации тестирования браузера, но я продолжаю столкнуться с капчами, которые предотвращают начало моего сценария. Кроме того, я получаю ошибку, в которой указывается, что «браузер автоматизирован» (причина: Marionette). < /P>
Мой предполагаемый поток автоматизации: < /p>
- Открыть Firefox < /li>
www.google.com < /li>
На ссылке на 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)
< /code>
Чтобы достичь чего -то подобного в Firefox, я уже пробовал следующее, но они, похоже, не работали: < /p>
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")
< /code>
Я также пытался сделать следующее: < /p>
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 или настройки марионета, чтобы предотвратить капхи, в то время как использование Selenium в Python? ты!
Подробнее здесь: https://stackoverflow.com/questions/794 ... r-is-being