【发布时间】:2015-11-14 13:18:08
【问题描述】:
我正在尝试使用 Python 中的 Selenium 使用我的 GMail 帐户自动登录,但出现此错误:
selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with
我的代码如下所示:
#!/usr/bin/python
# coding: utf8
import scrapy
from selenium import webdriver
from scrapy.selector import Selector
from selenium.webdriver.common.action_chains import ActionChains
from scrapy.contrib.spiders import CrawlSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.http import Request, FormRequest
from scrapy import log
from scrapy.exceptions import DropItem
from scrapy import signals
from selenium.webdriver.common.by import By
import scrapy
from scrapy import signals
from scrapy.http import TextResponse
from scrapy.xlib.pydispatch import dispatcher
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class googleplay(CrawlSpider):
name = "selenium"
flag = True
def __init__(self):
self.driver = webdriver.Firefox()
self.driver.get('http://gmail.com')
action = webdriver.ActionChains(self.driver)
#User name input field identification and data entered
usernametext = self.driver.find_element_by_name('Email')
usernametext.send_keys("myemailaddress@gmail.com") #put your actual username
self.driver.find_element_by_name('signIn').click()
time.sleep(2)
#Password input field identification and data entered
passwordtext = self.driver.find_element_by_name('Passwd')
passwordtext.send_keys("password") #put your actual password
key = self.driver.find_element_by_name('signIn')
print "----------------------"
key.click()
print "----------------------"
start_urls = ["https://www.mywebsite.com"]
def parse(self, reponse):
#Loading the gmail URL
print "toto"
如何解决我的问题?
【问题讨论】:
-
您确定不想为此使用API?
-
你试过改变网址吗?使用
https://accounts.google.com/ServiceLogin?service=mail#identifier而不是http://gmail.com -
我需要使用 selenium 来报废一些信息,经过身份验证后......