【发布时间】:2018-10-05 15:23:00
【问题描述】:
我正在尝试在 this website 上自动执行结帐流程。我处于第四阶段,您点击“付款信息”中的“信用卡”选项,我正在尝试send_keys 输入我的信用卡号码。
但是,我注意到在单击 CC 选项后,页面会加载一段时间,因此我使用了显式等待该元素,但这不起作用。任何帮助将不胜感激。
ccNumber = session.find_element_by_css_selector('input[name=credit-card-number]')
wait = WebDriverWait(session, 100)
wait.until(EC.element_to_be_selected(ccNumber))
这是错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"input[name=credit-card-number]"}
【问题讨论】:
-
尝试将元素定义为
ccNumber = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "input[name=credit-card-number]"))) -
@Andersson 现在甚至没有单击信用卡按钮(输入),并且在 webdriver 完成执行后不久就会引发错误。
raise TimeoutException(message, screen, stacktrace)来自您上面建议的行 -
正如安德森所说,您需要在单击按钮之前等待,而不是之后。也许他的方法不对,但你必须找到一个你可以等待的元素,并将其作为你的标准。
-
你能验证css选择器是否正确吗?并在 html 中找到元素
-
@KirilS。我发现信用卡 div 的样式属性在按下信用卡按钮后从
style="display: none变为空。是否可以使用该标准,以及如何使用?
标签: python selenium selenium-webdriver css-selectors webdriverwait