我正在Shopify checkout页面上运行测试脚本,虽然我能够切换到iFrame并获取Card Number元素,但同样的方法似乎不适用于其他输入元素(id='expiry',id='name'等)
Form screenshotInspect iFrame screenshot
WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[@class='card-fields-iframe']")))
element12 = WebDriverWait(driver,20).until(EC.presence_of_element_located((By.ID,'number')))
element12.click()
element12.send_keys('1111222233334444')
还尝试了driver.switchTo().defaultContent()并再次切换回iFrame,但出现了相同的错误
element13 = WebDriverWait(driver,20).until(EC.presence_of_element_located((By.ID,'expiry')))
element13.click()
element13.send_keys('1220')
这是我得到的元素13的错误
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable at point (489, -1)
发现问题-元素在单独的iframe中。修改了我的代码,使用xpath和不同id字段上的部分匹配来检索iFrame
相关问题 更多 >
编程相关推荐