Python Windows Authentication username and password is not working
Question:
I am trying to enter data in prompt (URL Given), below codes is giving me an error. Please help me out with these?
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Firefox()
url = "http://the-internet.herokuapp.com/basic_auth"
driver.get(url)
time.sleep(5)
alert = driver.switch_to.alert
alert.authenticate('admin','admin')
time.sleep(4)
alert.accept()
I have tried with:
ActionChains(driver).send_keys("admin").send_keys(Keys.TAB).send_keys("admin").perform()
This one is also not working.
Answers:
When you work with Selenium 3.4.0
, geckodriver v0.18.0
, Mozilla Firefox 53.0
through Python 3.6.1
you can bypass the Basic Authentication
popup through embedding the username
and password
in the url
itself as follows.
This solution opens the URL
http://the-internet.herokuapp.com/basic_auth and authenticates with a valid username
and password
credentials.
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('C:\Program Files\Mozilla Firefox\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path="C:\Utility\BrowserDrivers\geckodriver.exe")
driver.get("http://admin:[email protected]/basic_auth")
def test_1_authentication(self):
self.driver.get("https://the-internet.herokuapp.com/basic_auth")
shell = win32com.client.Dispatch("WScript.Shell")
shell.Sendkeys("admin")
time.sleep(3)
shell.Sendkeys("{TAB}")
time.sleep(3)
shell.Sendkeys("admin")
time.sleep(3)
shell.Sendkeys("{ENTER}")
time.sleep(3)
Above code is also properly worked 🙂
You can also use PyAutoGui
:
pip3 install pyautogui
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import pyautogui
driver = webdriver.Chrome()
driver.get("htt`enter code here`p://95.141.198.238/noload2/files/074/UTF-
RSLOAD.NET-.zip")
pyautogui.write('rsload.net') # login
pyautogui.press('tab') # Tab
pyautogui.write('rsload.net') # pass
pyautogui.press('enter') # Enter
I am trying to enter data in prompt (URL Given), below codes is giving me an error. Please help me out with these?
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Firefox()
url = "http://the-internet.herokuapp.com/basic_auth"
driver.get(url)
time.sleep(5)
alert = driver.switch_to.alert
alert.authenticate('admin','admin')
time.sleep(4)
alert.accept()
I have tried with:
ActionChains(driver).send_keys("admin").send_keys(Keys.TAB).send_keys("admin").perform()
This one is also not working.
When you work with Selenium 3.4.0
, geckodriver v0.18.0
, Mozilla Firefox 53.0
through Python 3.6.1
you can bypass the Basic Authentication
popup through embedding the username
and password
in the url
itself as follows.
This solution opens the URL
http://the-internet.herokuapp.com/basic_auth and authenticates with a valid username
and password
credentials.
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('C:\Program Files\Mozilla Firefox\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path="C:\Utility\BrowserDrivers\geckodriver.exe")
driver.get("http://admin:[email protected]/basic_auth")
def test_1_authentication(self):
self.driver.get("https://the-internet.herokuapp.com/basic_auth")
shell = win32com.client.Dispatch("WScript.Shell")
shell.Sendkeys("admin")
time.sleep(3)
shell.Sendkeys("{TAB}")
time.sleep(3)
shell.Sendkeys("admin")
time.sleep(3)
shell.Sendkeys("{ENTER}")
time.sleep(3)
Above code is also properly worked 🙂
You can also use PyAutoGui
:
pip3 install pyautogui
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import pyautogui
driver = webdriver.Chrome()
driver.get("htt`enter code here`p://95.141.198.238/noload2/files/074/UTF-
RSLOAD.NET-.zip")
pyautogui.write('rsload.net') # login
pyautogui.press('tab') # Tab
pyautogui.write('rsload.net') # pass
pyautogui.press('enter') # Enter