Auto connect on my Gmail account with Python Selenium

前端 未结 1 1039
温柔的废话
温柔的废话 2021-01-29 08:39

I am trying to auto-login with my GMail account with Selenium in Python, but I am getting this error:

selenium.common.exceptions.ElementNotVisibleException: Mess         


        
1条回答
  •  余生分开走
    2021-01-29 09:21

    Try changing the url. Use https://accounts.google.com/ServiceLogin?service=mail#identifier instead of http://gmail.com.

    Make sure you use your original email and password. And change self.driver.find_element_by_name to self.driver.find_element_by_id for every element.

    Your code will be:

    #!/usr/bin/python
    # coding: utf8
    
    import scrapy
    import time
    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
    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("myemail@gmail.com") #put your actual username
            self.driver.find_element_by_name('signIn').click()
            #Password input field identification and data entered
            passwordtext = self.driver.find_element_by_id('Passwd')
            passwordtext.send_keys("mypassword") #put your actual password
            self.driver.find_element_by_id('signIn').click()
            print "----------------------"
            #key.click()
            print "----------------------"
            start_urls = ["https://www.mywebsite.com"]    
    
        def parse(self, reponse):
            #Loading the gmail URL
            print "toto" 
    

    0 讨论(0)
提交回复
热议问题