Как зайти в аккаунт 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 вы всё равно попадёте.
https://pypi.org/project/selenium-stealth/
На конец 2021 работает
Тело сообщения должно содержать не менее 30 символов; вы ввели 23.
- запустить отдельную сессию хрома через cmd
.\chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\chrome-debug-profile"
- подключиться через селениум к существующему процессу
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)
- выполнять манипуляции с браузером через js
driver.execute_script(js_code)
Видео поясняющее и демонстрирующее авторизацию в GOOGLE аккаунте и дальнейшая автоматизация под управлением Python, Selenium и JavaScript. Код создается в визуальном редакторе Кибор. Но блок схема показывает нужные действия.
На данном видео демонстрируется принцип авторизации в Google и дальнейшая работа с ним под управлением Selenium. Для успешной авторизации используется дополнительное расширение для браузера. На видео показано как его создавать и использовать совместно с схемой работы Python и Selenium. Рабочая схема создается в визуальном редакторе Кибор, но по данной схеме легко реализовать Python код руками. Если есть знания в области программирования на Python и создания расширений для браузера.
Авторизация в GOOGLE аккаунте и дальнейшая автоматизация под управлением Python Selenium JavaScript
