【发布时间】:2019-04-28 21:38:48
【问题描述】:
我正在尝试自动化 shopify 结帐的结帐过程,而 selenium 似乎找不到完成结帐所需的元素。注意:此结帐不在 iframe 中,我进行了广泛的研究以确保页面已完全加载,因此这不是重复的问题。
try:
elem = driver.find_element_by_id('number')
elem.send_keys('4342923222931029')
except NoSuchElementException:
assert 0, "can't find input with number id"
这是我要访问的内容:screenshot of the source code of the checkout code
【问题讨论】:
-
欢迎来到 SO。您是否尝试过开发者工具中的
#numbercss 或//input[@id='number'](如果您使用的是chrome)?你能在 chrome 浏览器中找到该元素吗? -
这里是在浏览器中查找元素的选项链接 (stackoverflow.com/questions/55870609/…)。通过这种方式,我们可以确定问题出在硒还是标识本身。
-
@supputuri 非常感谢您的帮助,所以事实证明这是一个 iframe 问题。我现在找到了 iframe,但是在尝试通过 id 定位 iframe 时出现以下错误:selenium.common.exceptions.NoSuchFrameException: Message: no such frame
-
@supputuri 这是我的代码:driver.switch_to.frame('card-fields-number-3nk14ojvg9f00000')
-
查看我的回答 here 循环遍历所有可用的 iframe 以找出哪个框架具有该元素的元素。