如何用Selenium webdriver选择这个文本字段?

时间:2016-05-11 21:32:31

标签: python selenium

如何选择selenium webdriver测试的信用卡号字段?

https://secure-store.nike.com/us/checkout/html/billing.jsp?_requestid=173323

cc = driver.find_element_by_id("creditCardNumber")

我无法在此行找到元素错误,我不明白为什么。

# click next button
driver.find_element_by_id("shippingSubmit").click()

# enter credit card number
cc = driver.find_element_by_id("creditCardNumber")
cc.click()
cc.clear()
cc.send_keys("4411111111111111")

# enter expiration
selectmonth = Select(driver.find_element_by_id("expirationMonth"))
selectmonth.select_by_value("10")

# enter expiration year
selectyear = Select(driver.find_element_by_id("expirationYear"))
selectyear.select_by_value("2012")

1 个答案:

答案 0 :(得分:1)

付款表格包含在iframe元素中。在找到元素之前切换到它:

wait = WebDriverWait(driver, 10)
driver.switch_to.frame("billingFormFrame") 

cc = wait.until(EC.element_to_be_clickable((By.ID, "creditCardNumber"))
cc.click()
# ...