souwasora
@souwasora (takei souwa)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

python selenium Googleログイン

解決したいこと

pytho初心者です。(今日環境構築終わりました)
python seleniumを使ってGoogle(Gmail)ログインしたい

ログインできませんでした
このブラウザまたはアプリは安全でない可能性があります。 詳細
別のブラウザをお試しください。サポートされているブラウザをすでに使用している場合は、もう一度ログインをお試しください。と表示
解決方法を教えて下さい。

発生している問題・エラー

スクリーンショット 2022-08-22 1.19.36.png

該当するソースコード

rom selenium import webdriver

options = webdriver.ChromeOptions()
userDir = r'C:\Users\○○○○○\Library\Application Support\Google\Chrome\User Data'
profileDir = 'Profile 1'
options.add_argument('--user-data-dir=' + userDir)
options.add_argument('--profile-directory=' + profileDir)

browser = webdriver.Chrome(options = options)
url ='https://accounts.google.com/signin/v2/identifier?continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&service=mail&sacu=1&rip=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin'
browser.get(url)
elem_email = browser.find_element_by_id('identifierId')
elem_email.send_keys('○○○@gmail.com')
elem_login = browser.find_element_by_id('identifierNext')
elem_login.click()

自分で試したこと

ここに問題・エラーに対して試したことを記載してください。
https://t19488sns.com/pythonseleniuoption/769/ 
さんの記事を参考に実施したのですが、ログインできてない状態で現象は変わらずログインできません
今日環境構築終えたばかりの新参者で理解がまだまだできてませんが
ご教示アドバイスお願いします

0

1Answer

2018 年より Gmail のセキュリティが強化され、Selenium などを使って Gmail のページをスクレイピングして取得するなどの方法はできなくなりました。

これは、Google が Gmail に届いたメールの内容を自動的に解析して広告を出していた時代に、反対する人が広告回避のためにメールボックスをスクレイピングするサードパーティのアプリを使い始めたものの不審なものも多く、逆に漏洩のセキュリティリスクを高めてしまった経緯があります。

そして広告の廃止と共にスクレイピングの対策もされました。つまり「ログイン手続きを Selenium にさせる」手法は使えなく(難しく)なっています。

代わりに Gmail の API が強化され、ちゃんとした手続きを踏めば API 経由でメールの送受信および取得ができるようになっています。

逆に「Gmail のアカウントでログインさせたいだけ」であれば、OAuth をキーワードに調べてみるといいと思います。

1Like

Comments

  1. @souwasora

    Questioner

    @KEINOS様
    回答ありがとうございます。
    Gmailの転送をseleniumを使ってやってみたかったのですが、、
    ありがとうございます
  2. 転送ですかー。気持ちはわかります。ただ Selenium を試すには Gmail は相手が悪いです(笑)

    別の Web メールサービスで IMAP で Gmail と連携後、その Web メールサービスを Selenium でコントロールするなどの方法もあるかとは思います。

Your answer might help someone💌