Selenium を使用して Gmail アカウントにログインしたいです。 python2.7 を使用しています。 エラーはありませんが、何らかの理由でアカウントにサインインできないという内容がページに表示されます。 以下のスクリーンショットをご覧ください。
それは私のコードです:
import time
import selenium
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
EXE_PATH = r'C:\Users\LENOVO\Downloads\geckodriver.exe'
driver = webdriver.Firefox(executable_path=EXE_PATH)
def login():
mail = 'myMail'
pw = 'myPassword'
driver.get('https://gmail.com')
email = driver.find_element_by_name('identifier')
email.send_keys(mail)
driver.find_element_by_id('identifierNext').click()
time.sleep(10)
password = driver.find_element_by_name('password')
password.send_keys(pw)
driver.find_element_by_id('passwordNext').click()
何をすればいいですか?助けてください、私は初心者です。ありがとう、マスター
ベストアンサー1
まず、pip を使用して undetected-chromedriver をインストールします。これは、Chrome のセキュリティをバイパスして先に進むことができるライブラリです。
pip install undetected-chromedriver
chromedriver.exe
次に、 like を使用して作成する代わりにdriver = webdriver.Chrome(r"chromedriver.exe")
、Chrome()
インストールしたライブラリの関数を使用します。
Python の完全なコード例:
import undetected_chromedriver.v2 as uc
from time import sleep
username = '[email protected]'
password ='password'
driver = uc.Chrome()
driver.delete_all_cookies()
driver.get('https://accounts.google.com/ServiceLogin')
sleep(2)
driver.find_element_by_xpath('//input[@type="email"]').send_keys(username)
driver.find_element_by_xpath('//*[@id="identifierNext"]').click()
sleep(2)
driver.find_element_by_xpath('//input[@type="password"]').send_keys(password)
driver.find_element_by_xpath('//*[@id="passwordNext"]').click()
sleep(2)
driver.get('https://gmail.com')
sleep(2)