Проблема со входом в Google Аккаунт

У меня возникла проблема со входом в google-аккаунт через selenium. Браузер как-то узнает, что я использую selenium, хотя я перерыл множество различных сайтов, чтобы обойти это: использовал selenium-stealth, fake-useragent, изменял настройки браузера в selenium, но ничего из этого не помогло.

Возможно, я просто что-то не так делал. Вот код, который у меня получился:

user_agent = UserAgent()
opts = ChromeOptions()
# opts.add_argument("--headless")
opts.add_argument("--disable-blink-features")
opts.add_argument('--disable-popup-blocking')
opts.add_argument('--disable-extensions')
opts.add_argument('--no-sandbox')
opts.add_argument('--disable-dev-shm-usage')
opts.add_argument(f'user-agent={user_agent.random}')
opts.add_argument("--disable-blink-features=AutomationControlled")
opts.add_experimental_option("excludeSwitches", ["enable-automation"])
opts.add_experimental_option('useAutomationExtension', False)
opts.add_argument("start-maximized")

service = Service(executable_path=ChromeDriverManager().install())
browser = Chrome(options=opts, service=service)
browser.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
stealth(browser,
        languages=["en-US", "en"],
        vendor="Google Inc.",
        platform="Win32",
        webgl_vendor="Intel Inc.",
        renderer="Intel Iris OpenGL Engine",
        fix_hairline=True,
        )
browser.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": user_agent.random})

browser.get('https://drive.google.com/drive/u/0/my-drive')
class_name, timesleep = 'JnOM6e.TrZEUc.rDisVe', 5
# WebDriverWait(browser, timeout=timesleep).until(EC._element_if_visible((By.CSS_SELECTOR, 'input[type=email]')))
input_type_email = browser.find_element(By.CSS_SELECTOR, 'input[type=email]')
ActionChains(browser)\
    .move_to_element(input_type_email)\
    .pause(0.5)\
    .click_and_hold()\
    .pause(0.7)\
    .send_keys(email)\
    .pause(1.25)\
    .perform()
WebDriverWait(browser, timeout=timesleep).until(EC.element_to_be_clickable((By.CLASS_NAME, class_name)))
click_on_button_next = browser.find_element(By.CLASS_NAME, class_name)
ActionChains(browser)\
    .pause(0.5)\
    .move_to_element(click_on_button_next)\
    .click()\
    .perform()
WebDriverWait(browser, timeout=timesleep).until(EC.element_located_to_be_selected((By.CSS_SELECTOR, 'input[type=password]')))
try:
    browser.find_element(By.CSS_SELECTOR, 'input[type=password]').send_keys(password)
except ElementNotInteractableException:
    print('Error')
time.sleep(100)

Да, код получился большой, но я не знал, что еще предпринять, чтобы обойти эту ошибку. Вот, что выводит сайт при обнаружении selenium:

website-output

Сайты, которые я использовал, чтобы узнать как обойти ошибку:
https://qna.habr.com/q/996187
https://pypi.org/project/selenium-stealth/
https://www.cyberforum.ru/python-web/thread2778506.html
и какие-то ещё другие...


Ответы (0 шт):