2017-02-11 1 views
0

Я использую скрипт python для входа в gmail в chrome, но после нажатия следующей ошибки, возвращающей код, может кто-нибудь, пожалуйста, помогите мне, что случилось, я новичок в python. ниже - код, который я использовал.Как подключиться к gmail с помощью chrome в windows с помощью python

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support.select import Select 
import threading 
import os,time,csv,datetime 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import Select 
a = webdriver.Chrome() 
a.get("https://accounts.google.com/") 
user = a.find_element_by_id("Email") 
user.send_keys('[email protected]') 
login = a.find_element_by_id("next") 
login.click() 
pwd = WebDriverWait(a, 10).until(EC.presence_of_element_located((By.ID, "Passwd"))) 
pwd.send_keys('p######') 
login = a.find_element_by_id("signIn") 
login.click() 
clk = WebDriverWait(a, 10).until(EC.presence_of_element_located((By.LINK_TEXT, 'myaccount'))) 
clk.click() 
logout = WebDriverWait(a, 10).until(EC.presence_of_element_located((By.ID, "gb_71"))) 
logout.click() 

Ниже ошибка:

Traceback (самый последний вызов последнего): Файл "C: \ Users \ mapraveenkumar \ Documents \ Python \ gmail.py", строка 20, в CLK = WebDriverWait (a, 10) .until (EC.presence_of_element_located ((By.LINK_TEXT, 'myaccount'))) Файл "C: \ Users \ mapraveenkumar \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site- пакеты \ selenium \ webdriver \ support \ wait.py ", строка 80, до raise TimeoutException (сообщение, экран, stacktrace) selenium.common.exceptions.TimeoutException: Сообщение:

+0

Пожалуйста, добавьте ошибку .. – franklinsijo

+0

это ошибка: Файл "C: /Users/mapraveenkumar/Documents/Python/gmail.py", строка 12, в PWD = a.find_element_by_css_selector ("# Passwd") Файл "C: \ Users \ mapraveenkumar \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py", строка 437 , в find_element_by_css_selector return self.find_element (by = By.CSS_SELECTOR, value = css_selector) –

+0

Обновить сообщение с ошибкой, а не здесь, в комментариях. И код, который вы опубликовали, и по ошибке не соответствует – franklinsijo

ответ

0

Скорее всего, потому что после нажатия на кнопку «Далее» на страницу требуется некоторое время, чтобы загрузить и представить текстовое поле Password. Попробуйте использовать wait statement, чтобы убедиться, что ваш скрипт ждет, пока элемент не будет найден.

Пример:

... 
login = a.find_element_by_id("next") 
login.click() 

pwd = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "Passwd")) 
pwd.send_keys('password') 
... 
+0

спасибо ralph, он работал хорошо, но когда я продолжил, я получил другую ошибку, не могли бы вы помочь мне в этом. Я редактировал код с ошибкой. –

 Смежные вопросы

  • Нет связанных вопросов^_^