Seleniumを使用して、Webアプリケーションのメール検証プロセスを自動化しています。既にGmailにログインして、アカウントで受け取ったアクティベーションメールを読むためのスクリプトを用意しています。スクリプトは昨日まで完全に機能していましたが、今日、私は問題に直面しています。
問題の追加のスクリーンショット
ブラウザがSeleniumで起動されている場合、Gmailはサインインを許可しません。言う、
Googleが認識しないブラウザを使用しているか、サポートされていない方法で設定されています。
使用ソフトウェア:「webdriverio」:「^ 4.14.1」、「wdio-cucumber-framework」:「^ 2.2.8」
どんな助けでもありがたいです。
試行錯誤の結果、この問題は同じアプリ/ IP /デバイスから複数のGmailアカウントが既に作成されているシナリオでのみ発生することがわかりました。グーグルはどういうわけかそれらのアカウントをマークし、それらが自動化フレームワーク/拡張機能によって起動された場合、それらをブロックします。
一時的な解決策:
UIと要素がどのように変化するかは予測できないため、サードパーティのMailアプリケーションのUIを自動化することは完全に避けたいと思います。セキュリティの目的での起動をブロックする可能性があり、そうするすべての権利を持っています!
貴重な時間を割いてくれてありがとう、ハムザラチとラフルL。
エディターを開き、このコードをコピーして貼り付け、email.py
という名前で保存してから、そのディレクトリでterminal/cmd/powershellを開き、これを入力する必要がありますpython .\email.py
注:
chrome保存先のディレクトリにあるドライバを確認してくださいpython file
このコードをコピーしてエディターに貼り付ける必要があります
これがそのスクリプトです。
from Selenium import webdriver
from Selenium.webdriver.common.by import By
from Selenium.webdriver.support.ui import WebDriverWait
from Selenium.webdriver.support import expected_conditions as EC
import time
import pyautogui as pg
username = input("Enter Your Username: ")
password = input("Enter Your Password: ")
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#identifier")
driver.maximize_window()
mail = WebDriverWait(driver, 100).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='identifierId']"))).send_keys(username)
login = WebDriverWait(driver, 100).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='identifierNext']/span"))).click()
passw = WebDriverWait(driver, 100).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='password']/div[1]/div/div[1]/input"))).send_keys(password)
next = WebDriverWait(driver, 100).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='passwordNext']/span/span"))).click()
数時間の試行錯誤の末、うまくいったことを試しました。
構成にargs: ['--disable-web-security', '--user-data-dir', '--allow-running-insecure-content' ]
を追加すると問題が解決しました。
別のメールアドレスを試してみたがうまくいかなかったので、これは私には役に立たなかったことが後でわかった。いくつかの観察の後、私は何か他のものを見つけ出し、これは試みられ、テストされました。
オートメーションの使用:
https://stackoverflow.com/users/login に移動しますGoogle戦略でログインを選択しますGoogleのユーザー名とパスワードを入力しますStackoverflowにログインします https://gmail.com に移動します(またはアクセスしたいGoogleアプリ)
これを終日(約24時間)一貫して行った後、Gmail(またはアクセスしたいGoogleアプリ)への直接のログインを直接自動化してみてください...少なくとも2人が成功しました。 PS-全員が同じフェーズを通過したため、少なくともキャプチャ要求を受け取るまで、stackoverflowログインを続行することをお勧めします。