-
-
Save ikegami-yukino/51b247080976cb41fe93 to your computer and use it in GitHub Desktop.
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() |
@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.
@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.
undetected chromedriver version 2 works example:
`import undetected_chromedriver.v2 as uc
import random,time,os,sys
from selenium.webdriver.common.keys import KeysGMAIL = '<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.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!
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?
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
@ochen1 please accept me, i am vulence# 0206 on discord. Thank you in advance!
@ochen1 please accept me too, paradoxx#3011
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
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.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 !!!
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 ?
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.
@kicktheken
I would appreciate a python selenium version.
i've tried using it and it didn't work (i don't know if i did it wrong or not)
Current Best Method for google login is:
from seleniumbase import SB
with SB(uc=True) as driver:
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.type("#identifierId", <Your Username Here>)
driver.click("#identifierNext > div > button")
driver.type("#password > div.aCsJod.oJeWuf > div > div.Xb9hP > input", <Password Here>)
driver.click("#passwordNext > div > button")
driver.save_screenshot("test.png")
I can't figure out how to make the window show though.
Current Best Method for google login is:
from seleniumbase import SB with SB(uc=True) as driver: 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.type("#identifierId", <Your Username Here>) driver.click("#identifierNext > div > button") driver.type("#password > div.aCsJod.oJeWuf > div > div.Xb9hP > input", <Password Here>) driver.click("#passwordNext > div > button") driver.save_screenshot("test.png")I can't figure out how to make the window show though.
it worked.
Use This if you want head-full mode.
from seleniumbase import SB
with SB(uc=True, headed=True) as driver:
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.type("#identifierId", <Your Username Here>)
driver.click("#identifierNext > div > button")
driver.type("#password > div.aCsJod.oJeWuf > div > div.Xb9hP > input", <Password Here>)
driver.click("#passwordNext > div > button")
driver.save_screenshot("test.png")
Use This if you want head-full mode.
from seleniumbase import SB with SB(uc=True, headed=True) as driver: 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.type("#identifierId", <Your Username Here>) driver.click("#identifierNext > div > button") driver.type("#password > div.aCsJod.oJeWuf > div > div.Xb9hP > input", <Password Here>) driver.click("#passwordNext > div > button") driver.save_screenshot("test.png")
This browser or app may not be secure.
Requesting to provide some sample synthetic jobs that handle sign in page functionality. Please do the needful
@Fakesum Does this method only work locally? I am trying to standup some tests on jenkins but after entering the password this way, I'm then redirected to https://accounts.google.com/v3/signin/challenge/iap
and cannot complete the auth flow.
works well locally though
EDIT: https://accounts.google.com/v3/signin/challenge/iap
is a 2FA challenge for accounts that don't have 2FA enabled, to set it up in-line. Likely will need to forward proxy and that potentially won't help either.
@Fakesum Does this method only work locally? I am trying to standup some tests on jenkins but after entering the password this way, I'm then redirected to
https://accounts.google.com/v3/signin/challenge/iap
and cannot complete the auth flow.works well locally though
Same here.
@Fakesum Does this method only work locally? I am trying to standup some tests on jenkins but after entering the password this way, I'm then redirected to
https://accounts.google.com/v3/signin/challenge/iap
and cannot complete the auth flow.works well locally though
EDIT:
https://accounts.google.com/v3/signin/challenge/iap
is a 2FA challenge for accounts that don't have 2FA enabled, to set it up in-line. Likely will need to forward proxy and that potentially won't help either.
This works locally for me, it does give me a warning of suspicious activity but thats after logging in. try changing the url to "https://accounts.google.com/signin" since this will redirect to oauth v3 login screen instead of the old oauth v2 one.
@Fakesum Does this method only work locally? I am trying to standup some tests on jenkins but after entering the password this way, I'm then redirected to
https://accounts.google.com/v3/signin/challenge/iap
and cannot complete the auth flow.
works well locally though
EDIT:https://accounts.google.com/v3/signin/challenge/iap
is a 2FA challenge for accounts that don't have 2FA enabled, to set it up in-line. Likely will need to forward proxy and that potentially won't help either.This works locally for me, it does give me a warning of suspicious activity but thats after logging in. try changing the url to "https://accounts.google.com/signin" since this will redirect to oauth v3 login screen instead of the old oauth v2 one.
hey bro, can i contact you somewhere else? i really need your help
I wrote a javascript file to login. I made two tests:
- Open chrome via cmd and use chromedriver to connect to this existing chrome process, then run the javascript file in this chrome by selenium.
Result: "This browser or app may not be secure"- Open chrome via cmd, then paste content of javascript file into console to login,
Result: Login successfully.
What's the differences? I dont use any selenium functions like sendkeys, click, etc... All is done via the code in js file. The chrome processes in two cases opened via cmd not via selenium.
Hi bro. I 'am from VN. Can you help me automation login google
its been more than a month but if you still, for whatever reason, need to contact me, you can do so on discord with the tag hello215
@Fakesum Does this method only work locally? I am trying to standup some tests on jenkins but after entering the password this way, I'm then redirected to
https://accounts.google.com/v3/signin/challenge/iap
and cannot complete the auth flow.
works well locally though
EDIT:https://accounts.google.com/v3/signin/challenge/iap
is a 2FA challenge for accounts that don't have 2FA enabled, to set it up in-line. Likely will need to forward proxy and that potentially won't help either.This works locally for me, it does give me a warning of suspicious activity but thats after logging in. try changing the url to "https://accounts.google.com/signin" since this will redirect to oauth v3 login screen instead of the old oauth v2 one.
hey bro, can i contact you somewhere else? i really need your help
Its been more than a month, but if you still need to contant me, you can do so on hello215
on discord
its been more than a month but if you still, for whatever reason, need to contact me, you can do so on discord with the tag
hello215
@Fakesum Does this method only work locally? I am trying to standup some tests on jenkins but after entering the password this way, I'm then redirected to
https://accounts.google.com/v3/signin/challenge/iap
and cannot complete the auth flow.
works well locally though
EDIT:https://accounts.google.com/v3/signin/challenge/iap
is a 2FA challenge for accounts that don't have 2FA enabled, to set it up in-line. Likely will need to forward proxy and that potentially won't help either.This works locally for me, it does give me a warning of suspicious activity but thats after logging in. try changing the url to "https://accounts.google.com/signin" since this will redirect to oauth v3 login screen instead of the old oauth v2 one.
hey bro, can i contact you somewhere else? i really need your help
Its been more than a month, but if you still need to contant me, you can do so on
hello215
on discord
Hi Guy. You can help me login google with python?
I have added your discord account. Thank bro
from seleniumwire import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time
import random
Paths and credentials
firefox_binary_path = r'C:\Program Files\Mozilla Firefox\firefox.exe'
profile_path = r'C:\Users\tec-d\AppData\Roaming\Mozilla\Firefox\Profiles\c6rj509q.default-release'
your_email = '@gmail.com'
your_password = ''
Proxy settings
proxies = [
"......",
]
proxy = random.choice(proxies)
proxy_host, proxy_port, proxy_username, proxy_password = proxy.split(':')
proxy_options = {
'proxy': {
'http': f'http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}',
'https': f'https://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}',
'no_proxy': 'localhost,127.0.0.1'
}
}
Firefox options
FF_OPTIONS = [
'--no-sandbox',
'--start-maximized',
'--start-fullscreen',
'--single-process',
'--disable-dev-shm-usage',
'--incognito',
'--disable-blink-features=AutomationControlled',
'--disable-xss-auditor',
'--disable-web-security',
'--ignore-certificate-errors',
'--disable-notifications',
'--disable-infobars',
'--disable-extensions',
'--useAutomationExtension=False',
'--excludeSwitches=enable-automation',
]
Firefox profile preferences
SET_PREF = {
'general.useragent.override': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36',
'permissions.default.desktop-notification': 1,
'dom.webnotifications.enabled': 1,
'dom.push.enabled': 1,
'intl.accept_languages': 'en-US',
'network.proxy.type': 1,
'network.proxy.http': proxy_host,
'network.proxy.http_port': int(proxy_port),
'network.proxy.ssl': proxy_host,
'network.proxy.ssl_port': int(proxy_port),
'network.proxy.socks_username': proxy_username,
'network.proxy.socks_password': proxy_password,
'media.peerconnection.enabled': False,
'network.cookie.cookieBehavior': 0,
'network.cookie.lifetimePolicy': 0,
}
options = webdriver.FirefoxOptions()
options.binary_location = firefox_binary_path
options.add_argument(f'--profile={profile_path}')
for option in FF_OPTIONS:
options.add_argument(option)
browser = webdriver.Firefox(seleniumwire_options=proxy_options, options=options)
email_field = WebDriverWait(browser, 40).until(EC.presence_of_element_located((By.ID, 'identifierId')))
email_field.send_keys(your_email)
email_field.send_keys(Keys.ENTER)
time.sleep(random.uniform(3, 6))
email_field = WebDriverWait(browser, 40).until(EC.presence_of_element_located((By.ID, 'identifierId')))
email_field.send_keys(your_email)
email_field.send_keys(Keys.ENTER)
time.sleep(random.uniform(3, 6))
password_field = WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.NAME, 'password')))
password_field.send_keys(your_password)
password_field.send_keys(Keys.ENTER)
WebDriverWait(browser, 30).until(EC.title_contains('Inbox'))
except Exception as e:
print(f"An error occurred: {e}")
finally:
browser.quit() la meme probleme reste pour moi que conexion non securises mon besoin browser firefox
I wrote a javascript file to login. I made two tests:
- Open chrome via cmd and use chromedriver to connect to this existing chrome process, then run the javascript file in this chrome by selenium.
Result: "This browser or app may not be secure"- Open chrome via cmd, then paste content of javascript file into console to login,
Result: Login successfully.
What's the differences? I dont use any selenium functions like sendkeys, click, etc... All is done via the code in js file. The chrome processes in two cases opened via cmd not via selenium.Hi bro. I 'am from VN. Can you help me automation login google
@dattv02 I have managed to resolve this in Ruby, but I can help you implement a similar solution in Python. It works flawlessly to log in to a Google account on either the Chrome or Firefox browser.
Thank you @Mike-Fakesome! Totally works.