Как зайти в аккаунт Google с помощью Selenium?

Код пишу на Python.

Задача в том, чтобы с помощью Selenium отслеживать статус работы программы в Google Colab. Но у меня при попытке авторизоваться в Google появляется следующее сообщение:

введите сюда описание изображения

Подскажите, каким образом можно обойти это ограничение?


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

Автор решения: Стас

Так как Python устанавливает HTTP подключение с сервером, Google не разрешает ему авторизоваться (это может быть опасно для ваших данных от аккаунта, когда они передаются в не зашифрованном виде). Далеко не все компании так делают (например, Яндекс не блокирует доступ).


И если вы всё же уверены, что вам это нужно - напрямую через Google авторизоваться вряд ли получится. Вы постоянно будете получать ошибку "Этот браузер или приложение небезопасны".

Но это можно обойти. Если вы авторизуетесь в любом приложении, которое считается безопасным и поддерживает вход через аккаунт Google, то вы сможете пройти авторизацию (вход через другие приложения не блокируется даже для небезопасных браузеров). Можно использовать, например, авторизацию через Stack Overflow


Ну и зачем мне это приложение? Мне нужен мой аккаунт Google

Когда вы авторизуетесь в приложении, вы также останетесь в своём Google аккаунте, даже когда закроете сайт, через который проходила авторизация. Можете отрыть тот же google.com и проверить.


Вот простой пример авторизации:

from selenium import webdriver
import time

driver = webdriver.Chrome(r"path\to\chromedriver.exe")
driver.get('https://accounts.google.com/signin/oauth/identifier?client_id=717762328687-iludtf96g1hinl76e4lc1b9a82g457nn.apps.googleusercontent.com&scope=profile%20email&redirect_uri=https%3A%2F%2Fstackauth.com%2Fauth%2Foauth2%2Fgoogle&state=%7B%22sid%22%3A1%2C%22st%22%3A%2259%3A3%3ABBC%2C16%3A9b15b0994c6df9fc%2C10%3A1591711286%2C16%3A66b338ce162d6599%2Ca78a0c663f0beb12c0559379b61a9f5d62868c4fbd2f00e46a86ac26796507a1%22%2C%22cdl%22%3Anull%2C%22cid%22%3A%22717762328687-iludtf96g1hinl76e4lc1b9a82g457nn.apps.googleusercontent.com%22%2C%22k%22%3A%22Google%22%2C%22ses%22%3A%22921f8f04441041069683cc2377152422%22%7D&response_type=code&o2v=1&as=NCQvtBXI4prkLLDbn4Re0w&flowName=GeneralOAuthFlow')
time.sleep(3)
email = driver.find_element_by_id('identifierId')
email.send_keys('LOGIN')

nextBtn = driver.find_element_by_id('identifierNext')
nextBtn.click()

time.sleep(2)
passwd = driver.find_element_by_name('password')
passwd.send_keys('PASSWORD')


nextBtn = driver.find_element_by_id('passwordNext')
nextBtn.click()

print("Login completed!")

Та длинная ссылка - это страница авторизации через Google от сайта Stack Overflow. Вы, скорее всего получите ошибку авторизации на SO (запросы похожи на автоматические), но в аккаунт Google вы всё равно попадёте.

→ Ссылка
Автор решения: Smit Johnth

https://pypi.org/project/selenium-stealth/

На конец 2021 работает

Тело сообщения должно содержать не менее 30 символов; вы ввели 23.

→ Ссылка
Автор решения: Denis Safonov
  1. запустить отдельную сессию хрома через cmd
.\chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\chrome-debug-profile"
  1. подключиться через селениум к существующему процессу
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def connect_to_existing_chrome():
        # Настройка опций
        chrome_options = Options()
        chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
        # Подключение к существующему процессу
        driver = webdriver.Chrome(options=chrome_options)
  1. выполнять манипуляции с браузером через js
driver.execute_script(js_code)
→ Ссылка
Автор решения: Vladimir Borda

Видео поясняющее и демонстрирующее авторизацию в GOOGLE аккаунте и дальнейшая автоматизация под управлением Python, Selenium и JavaScript. Код создается в визуальном редакторе Кибор. Но блок схема показывает нужные действия.

На данном видео демонстрируется принцип авторизации в Google и дальнейшая работа с ним под управлением Selenium. Для успешной авторизации используется дополнительное расширение для браузера. На видео показано как его создавать и использовать совместно с схемой работы Python и Selenium. Рабочая схема создается в визуальном редакторе Кибор, но по данной схеме легко реализовать Python код руками. Если есть знания в области программирования на Python и создания расширений для браузера.

Авторизация в GOOGLE аккаунте и дальнейшая автоматизация под управлением Python Selenium JavaScript

→ Ссылка