Как зарегистрироваться в Гугл аккаунте, используя selenium?

Рейтинг: 0Ответов: 0Опубликовано: 15.08.2023

Моя задача очень проста в теории.
Задача: запускать и мониторить код в гугл колаб. Google Colab Но, есть один нюанс, чтобы там что-то изменить, нужно зайти в гугл аккаунт. Я попытался это сделать с chromedriver, не получилось. selenium-stealth пробовал, что-то не получилось... Сейчас пробую с geckodriver и firefox. но ошибка повторяется.

Ошибка в чем?
Все дело в том что, как только было введен адрес почты, затем нажимается кнопка "Далее", затем нужно вводить пароль, но вместо него, там что-то типо такого "Этот браузер не является безопасным ...", тоесть срабатывает защита, детектор на бота.
Мой вопрос, как это исправить? И можно ли как-то по другому, без селениума?
Сам код, ниже:

url1 = "https://accounts.google.com/signin/v2/identifier?continue=https%3A%2F%2Fcolab.research.google.com%2Fdrive%2F..."
url2 = "https://colab.research.google.com/..."

from time import sleep

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

profile = webdriver.FirefoxProfile()

profile.set_preference("dom.webdriver.enabled", False)
profile.set_preference('useAutomationExtension', False)
profile.update_preferences()

desired = DesiredCapabilities.FIREFOX

options = webdriver.FirefoxOptions()
options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36')

driver = webdriver.Firefox(firefox_profile=profile, options=options, desired_capabilities=desired)


driver.get(url1)
sleep(8)
email = driver.find_element(By.ID, 'identifierId')
email.send_keys("почта")

sleep(1)
nextBtn = driver.find_element(By.ID, 'identifierNext')
nextBtn.click()

sleep(7)

passwd = driver.find_element('password')
passwd.send_keys("пароль")

nextBtn = driver.find_element(By.ID, 'passwordNext')
nextBtn.click()

sleep(400)

Пожалуйста, покажите как правильнее, или как можно это реализовать по другому, приму любые идеи.

Ответы

Ответов пока нет.