如何识别用户名和密码字段以使用 Selenium 和 Python 登录 USPS.com
How to identify the Username and Password field to login into USPS.com using Selenium and Python
我正在尝试登录 USPS.com,我的用户名和密码是正确的,我正在使用以下代码。
user1="myusername"
password1="password"
url="https://reg.usps.com/login?app=MyUSPS"
browser.get(url)
username = browser.find_element_by_name('username')
username.send_keys(user1)
sleep(5)
password = browser.find_element_by_name('password')
password.send_keys(passwd1)
sleep(5)
browser.find_element_by_id('btn-submit').click()
sleep(3)
但是当我手动尝试登录站点时没有显示错误。
根据您的问题和 url https://reg.usps.com/login?app=MyUSPS
使用 用户名 和 [=21= 登录]password 您需要诱导 WebDriverWait 以使所需元素 clickable 并且您可以使用以下解决方案:
代码块:
from selenium 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
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_argument('disable-infobars')
driver=webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get("https://reg.usps.com/login?app=MyUSPS")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='form-control' and @id='username']"))).send_keys("Ankit")
driver.find_element_by_xpath("//input[@class='form-control' and @id='password']").send_keys("Ankit")
driver.find_element_by_xpath("//button[@class='btn btn-primary btn-lg btn-block' and @id='btn-submit']").click()
浏览器快照:
我正在尝试登录 USPS.com,我的用户名和密码是正确的,我正在使用以下代码。
user1="myusername"
password1="password"
url="https://reg.usps.com/login?app=MyUSPS"
browser.get(url)
username = browser.find_element_by_name('username')
username.send_keys(user1)
sleep(5)
password = browser.find_element_by_name('password')
password.send_keys(passwd1)
sleep(5)
browser.find_element_by_id('btn-submit').click()
sleep(3)
但是当我手动尝试登录站点时没有显示错误。
根据您的问题和 url https://reg.usps.com/login?app=MyUSPS
使用 用户名 和 [=21= 登录]password 您需要诱导 WebDriverWait 以使所需元素 clickable 并且您可以使用以下解决方案:
代码块:
from selenium 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 options = webdriver.ChromeOptions() options.add_argument("start-maximized") options.add_argument('disable-infobars') driver=webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe') driver.get("https://reg.usps.com/login?app=MyUSPS") WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='form-control' and @id='username']"))).send_keys("Ankit") driver.find_element_by_xpath("//input[@class='form-control' and @id='password']").send_keys("Ankit") driver.find_element_by_xpath("//button[@class='btn btn-primary btn-lg btn-block' and @id='btn-submit']").click()
浏览器快照: