Seleniumを使用してGoogleにログイン


使用理由
ふと思いついた番組を作るために、人生で初めてセレンを使いました.
実戦圧縮なので使い方しか勉強しませんでしたが、Googleログイン中に問題が発生しました.
マイプログラム(現在)はログインプロセスをユーザーに渡します.このプロセスで、Googleログインを使用してGoogleとの連動ログインを実現しようとすると、

イランの間違いが発生します.
調べてみると、グーグル自体がソフトウェア自動化制御のブラウザへのログインを阻止しています.
Googleにログインする必要があるので、迂回してみることにしました.
検索の連続性
解決策デバッガモードの使用
https://velog.io/@binsu/selenium-%ED%99%9C%EC%9A%A9-%EA%B0%84-%EA%B5%AC%EA%B8%80-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EB%B8%94%EB%A1%9D-%EC%9A%B0%ED%9A%8C%ED%95%98%EA%B8%B0
上の文章を参考にする長すぎてスキップ!
解決策クロムオプションの追加
https://stackoverflow.com/questions/60117232/selenium-google-login-block
役に立たない.
解決策Firefoxの使用
https://stackoverflow.com/questions/60117232/selenium-google-login-block
同様に、その文章ではgeckodriverを発見する方法を用いたが、阻止された.
本当にシンプルなソリューション
多くの方法が詰まっていて、私はとても悲しんでいますが、ライブラリを見つけました.
undetected-chromedriver
最大undetected-chromedriverのライブラリ名
https://github.com/ultrafunkamsterdam/undetected-chromedriver
使い方もとても簡単です
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import undetected_chromedriver as uc



def init_driver():
    driver = uc.Chrome()
    driver.get('https://velog.io')
    return driver
# 로그인 버튼을 눌러주고 로그인이 되서 다시 velog로 돌아올때까지 60초를 기다린다.
def do_login(driver):
    driver.find_element(By.XPATH,'//button[text()="로그인"]').click()
    WebDriverWait(driver, 60).until(
        EC.presence_of_element_located(
            (By.XPATH, '//button[text()="새 글 작성"]')
        )
    )
# main에서 실행하지 않으면 오류가 남
# https://github.com/ultrafunkamsterdam/undetected-chromedriver/issues/486#issuecomment-1032009193 참조
if  __name__  ==  "__main__" :
    driver = init_driver()
    do_login(driver)
    # 당신의 코드를 아래에 적으세요.
これでグーグルにログインできます.
2/22サンプルコードは単純すぎるため、少し追加しました.