我正在使用Chrome webdriver的一些python代码登录网站。
我通过id找到元素,然后输入用户名和密码。
它适用于第一个元素条目,无论是用户名还是密码,但它不适用于以下元素。它被id语句卡在find元素中。
这是我的代码,
chromedriver = "C:\\Users\\testuser\\Desktop\\chrome\\chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("https://*****/login/")
print 1
Password1= driver.find_element_by_id("Password").send_keys("******")
print 2
Username1= driver.find_element_by_id("Username").send_keys("******")
代码在打印2后停止,它没有通过id检测第二个查找元素。
答案 0 :(得分:0)
尝试添加对click
的调用:
elt = driver.find_element_by_id("Password")
elt.click()
elt.send_keys("******")
elt = driver.find_element_by_id("Username")
elt.click()
elt.send_keys("******")
答案 1 :(得分:0)
1)使用WebDriverWait:
WebDriverWait wait = new WebDriverWait(driver,30); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id( “用户名”)));
2)或者也许bewebdriver无法在页面上找到elment,因此在这种情况下,请使用其他定位器,例如xpath。
希望它能帮助你:)。
答案 2 :(得分:0)