Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Automatically Google login by selenium
mail_address = ''
password = ''
from selenium import webdriver
UA = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0'
PHANTOMJS_ARG = {'phantomjs.page.settings.userAgent': UA}
driver = webdriver.PhantomJS(desired_capabilities=PHANTOMJS_ARG)
url = 'https://www.google.com/accounts/Login?hl=ja&continue=http://www.google.co.jp/'
driver.get(url)
driver.find_element_by_id("Email").send_keys(mail_address)
driver.find_element_by_id("next").click()
driver.find_element_by_id("Passwd").send_keys(password)
driver.find_element_by_id("signIn").click()
@ochen1
Copy link

ochen1 commented Jun 1, 2021

@aimedtuba
Copy link

aimedtuba commented Jun 1, 2021

@ochen1 , please give me the solution(discord: cadd#7930), i sent a friend request. I swear i'm not google, and i wanna use it so i can write to a google doc from web scraping. thx :)

@razan19
Copy link

razan19 commented Jun 3, 2021

What is the error in the code?

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()

driver.maximize_window()

driver.delete_all_cookies()

driver.get("https://www.gmail.com")

driver.find_element_by_id("identifierId").send_keys("youremailhere")
time.sleep(2)

driver.find_element_by_xpath('//*[@id="identifierNext"]/div/button/div[2]').click()

time.sleep(3)

driver.find_element_by_name("password").send_keys("#########")

time.sleep(3)
driver.find_element_by_xpath('//*[@id="passwordNext"]/div/button/div[2]').click()
time.sleep(3)
driver.close()
print("Gmail login has been successfully connected")

The result =====-> Run code :

PS C:\Users\Owner\Desktop\python\LoginMail> & C:/Users/Owner/AppData/Local/Programs/Python/Python39/python.exe c:/Users/Owner/Desktop/python/LoginMail/mail.py
Traceback (most recent call last):
File "C:\Users\Owner\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 72, in start
self.process = subprocess.Popen(cmd, env=self.env,
File "C:\Users\Owner\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 951, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\Owner\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1420, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "c:\Users\Owner\Desktop\python\LoginMail\mail.py", line 6, in
driver = webdriver.Chrome()
File "C:\Users\Owner\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in init
self.service.start()
File "C:\Users\Owner\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

@NotThareesh
Copy link

NotThareesh commented Jun 4, 2021

@razan19, you need to either provide the path for the chromedriver file in the driver variable or copy the chromedriver file and paste it in the Python 3.9 directory.

@sunny860
Copy link

sunny860 commented Jun 9, 2021

@ochen1 , Pls give me a solution, I need it. Thank yout. My discord is xzhong19856#4042

@rzfzr
Copy link

rzfzr commented Jun 13, 2021

They are onto us guys....
I'm getting "Confirm your identity" popups, which goes to the login screen, even with freshly stolen cookies...

@Ouldani004
Copy link

Ouldani004 commented Jun 15, 2021

@ochen1 , Please give me solution, I need it. I don't have discover account if you can please contact me in skype or anything else. i really need this solution Thank you. if any one have this solution please send it to me.
my Skype Name --> live:support_61916

@Ouldani004
Copy link

Ouldani004 commented Jun 15, 2021

@ysomad , did you know how can i use this package undetected-chromedriver in java i am working using java not python.

@Ouldani004
Copy link

Ouldani004 commented Jun 15, 2021

@v-shashwat , @quoctrunggol , @maxpong0616 , @Akkihi ,
@topdeveloper0729 , @gomingge , @gomingge , @hyh1993959 , @jinfuchen , @shr00mie , @vctr13 , @hoangbao123 , @kimcartoon , @mahaffey , @sijokun , @Hugo-cruz , @chris13337 , @Raczan , @joel , @odek53r , @KuroSol , @idislikebrian . Sorry if i 've tags you all in this comment but i think same people are still stuck in this problem if anyone have the solution please share it with us.

@rzfzr
Copy link

rzfzr commented Jun 15, 2021

@Ouldani004 if anybody had a solution and wanted to share, they would, no need for notifying everyone.
Have you tried loading the cookie from another browser? If not look at my first reply here.
If that does not work, there is a undetected chromedriver in python aswell.
Failing all that your best bet is to go to something like robotjs

@uclaeamsavino
Copy link

uclaeamsavino commented Jun 15, 2021

I have 4 google test accounts. I can log into 3 of them with show browser turned on. One of them just never works. Somehow google has tagged that one differently. None of them work in headless mode.

@kicktheken
Copy link

kicktheken commented Jul 6, 2021

I'm working on a module that is guaranteed to login to google as a service and return an authenticated cookie via robotic process automation. If anyone here is interested, please sign up at https://loginbud.com.

@rzfzr
Copy link

rzfzr commented Jul 6, 2021

I'm working on a module that is guaranteed to login to google as a service and return an authenticated cookie via robotic process automation. If anyone here is interested, please sign up at https://loginbud.com.

I just saw the signup page, is the module paid?

@kicktheken
Copy link

kicktheken commented Jul 7, 2021

I just saw the signup page, is the module paid?

The module will be connected to a service that has a free and paid tier.

@Mike-Fakesome
Copy link

Mike-Fakesome commented Jul 12, 2021

undetected chromedriver version 2 works example:
`import undetected_chromedriver.v2 as uc
import random,time,os,sys
from selenium.webdriver.common.keys import Keys

GMAIL = '<GMAIL_HERE>'
PASSWORD = '<PASSWORD_HERE>'

chrome_options = uc.ChromeOptions()

chrome_options.add_argument("--disable-extensions")

chrome_options.add_argument("--disable-popup-blocking")

chrome_options.add_argument("--profile-directory=Default")

chrome_options.add_argument("--ignore-certificate-errors")

chrome_options.add_argument("--disable-plugins-discovery")

chrome_options.add_argument("--incognito")

chrome_options.add_argument("user_agent=DN")

driver = uc.Chrome(options=chrome_options)

driver.delete_all_cookies()

driver.get("https://accounts.google.com/o/oauth2/v2/auth/oauthchooseaccount?redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&prompt=consent&response_type=code&client_id=407408718192.apps.googleusercontent.com&scope=email&access_type=offline&flowName=GeneralOAuthFlow")

driver.find_element_by_xpath("/html/body/div[1]/div[1]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[1]/div/div[1]/div/div[1]/input").send_keys(GMAIL)
driver.find_element_by_xpath("/html/body/div[1]/div[1]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[1]/div/div[1]/div/div[1]/input").send_keys(Keys.RETURN)

time.sleep(10)`

@MarialenaShiamma
Copy link

MarialenaShiamma commented Jul 21, 2021

Finally, a solution that works. Thank you @Mike-Fakesome for suggesting this.
Any drawbacks using this over the normal driver?

@thiagobenine
Copy link

thiagobenine commented Jul 22, 2021

Thank you @Mike-Fakesome! Totally works.

@moueenkhan
Copy link

moueenkhan commented Jul 30, 2021

@Mike-Fakesome @MarialenaShiamma @thiagobenine
I am getting this error. Any solution?

from session not created: This version of ChromeDriver only supports Chrome version 93
current browser version is 92.0.4515.107

I have installed the undetected chrome driver using pip install undetected-chromedriver command.
After installing, I am getting that error and I have checked but there is no version 93 available for Chrome.

@ALCarter2
Copy link

ALCarter2 commented Jul 30, 2021

@andyb415
Copy link

andyb415 commented Aug 10, 2021

@Mike-Fakesome - this is a life saver. after using the stack-overflow auth method for all of last year, i hadn't needed to run my particular automation since Dec 2020. that is until... yesterday. and it broke. i tried everything, but finally found this solution! and it works again.
in my case, i need to automate uploading previews (hundreds and hundreds) to doubleclick studio, which is owned by google. from there i can get individual urls with said creatives and get screen captures to look for line break and layout bugs. makes testing our DCO content so much faster!!!!
this helps so much. can't thank you enough.

@murilo3m
Copy link

murilo3m commented Aug 18, 2021

undetected chromedriver version 2 works example:
`import undetected_chromedriver.v2 as uc
import random,time,os,sys
from selenium.webdriver.common.keys import Keys

GMAIL = '<GMAIL_HERE>'
PASSWORD = '<PASSWORD_HERE>'

chrome_options = uc.ChromeOptions()

chrome_options.add_argument("--disable-extensions")

chrome_options.add_argument("--disable-popup-blocking")

chrome_options.add_argument("--profile-directory=Default")

chrome_options.add_argument("--ignore-certificate-errors")

chrome_options.add_argument("--disable-plugins-discovery")

chrome_options.add_argument("--incognito")

chrome_options.add_argument("user_agent=DN")

driver = uc.Chrome(options=chrome_options)

driver.delete_all_cookies()

driver.get("https://accounts.google.com/o/oauth2/v2/auth/oauthchooseaccount?redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&prompt=consent&response_type=code&client_id=407408718192.apps.googleusercontent.com&scope=email&access_type=offline&flowName=GeneralOAuthFlow")

driver.find_element_by_xpath("/html/body/div[1]/div[1]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[1]/div/div[1]/div/div[1]/input").send_keys(GMAIL)
driver.find_element_by_xpath("/html/body/div[1]/div[1]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[1]/div/div[1]/div/div[1]/input").send_keys(Keys.RETURN)

time.sleep(10)`

Worked for me today!

@rzfzr
Copy link

rzfzr commented Aug 30, 2021

Hey there people of the internet, I switched to a node app using the official API, however I noticed the API lacks many options (endscreens, cards...) present in tools such TubeBuddy, has anybody explored building a browser extension?

@smamczak
Copy link

smamczak commented Sep 8, 2021

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:49426
from session not created: This version of ChromeDriver only supports Chrome version 92
Current browser version is 94.0.4606.30

@banana-error
Copy link

banana-error commented Sep 21, 2021

@ochen1 please accept me, i am vulence# 0206 on discord. Thank you in advance!

@natsurkan
Copy link

natsurkan commented Sep 21, 2021

@ochen1 please accept me too, paradoxx#3011

@Yhache
Copy link

Yhache commented Nov 1, 2021

Hi @ochen1 Can you please add me on Discord... i'd like to know your solution, i will explain why i need it, Thanks
Discord : yhache#8537

@furkanaydgn
Copy link

furkanaydgn commented Nov 22, 2021

undetected chromedriver version 2 works example: `import undetected_chromedriver.v2 as uc import random,time,os,sys from selenium.webdriver.common.keys import Keys

GMAIL = '<GMAIL_HERE>' PASSWORD = '<PASSWORD_HERE>'

chrome_options = uc.ChromeOptions()

chrome_options.add_argument("--disable-extensions")

chrome_options.add_argument("--disable-popup-blocking")

chrome_options.add_argument("--profile-directory=Default")

chrome_options.add_argument("--ignore-certificate-errors")

chrome_options.add_argument("--disable-plugins-discovery")

chrome_options.add_argument("--incognito")

chrome_options.add_argument("user_agent=DN")

driver = uc.Chrome(options=chrome_options)

driver.delete_all_cookies()

driver.get("https://accounts.google.com/o/oauth2/v2/auth/oauthchooseaccount?redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&prompt=consent&response_type=code&client_id=407408718192.apps.googleusercontent.com&scope=email&access_type=offline&flowName=GeneralOAuthFlow")

driver.find_element_by_xpath("/html/body/div[1]/div[1]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[1]/div/div[1]/div/div[1]/input").send_keys(GMAIL) driver.find_element_by_xpath("/html/body/div[1]/div[1]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[1]/div/div[1]/div/div[1]/input").send_keys(Keys.RETURN)

time.sleep(10)`

Link is still blocking by google .Soo link should be update !!!

@furkanaydgn
Copy link

furkanaydgn commented Nov 22, 2021

Hi @ochen1 Can you please add me on Discord... i'd like to know your solution, i will explain why i need it, Thanks Discord : yhache#8537

Did you find any solution ?

@Yhache
Copy link

Yhache commented Nov 22, 2021

@kicktheken
Copy link

kicktheken commented Nov 24, 2021

I've created a script to help people automate Google login here: https://github.com/crawlspec/google-login

It only needs the phone number for 2FA on first use. Subsequent uses will be 'trusted' by the service. It's written in puppeteer javascript. I can write a python selenium version if there's demand. Let me know if it works for you or post in the project's 'Issues' tab for any questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment