如何选择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")
答案 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()
# ...