gpt4 book ai didi

python - Chrome Webdriver 无法完成产品结帐自动化

转载 作者:行者123 更新时间:2023-12-01 08:57:56 25 4
gpt4 key购买 nike

我正在尝试自动结账 this website 上的产品。然而,在最后一步,当应该单击按钮来提交付款时,按钮只是加载,付款既没有完成也没有被拒绝(弹出窗口预计会告诉用户它已被拒绝)。

如下图所示,订单信息只是无限期地“加载”或“旋转”。

我不确定为什么会发生这种情况。任何帮助,将不胜感激。 What I am describing

编辑:我使用了显式等待来等待动态内容加载(即 HTML 现在与完全加载页面的预期 HTML 匹配(即

<button type="submit" title="Place Order" class="button btn-checkout" onclick="review.save();"><span><span>Place Order</span></span></button>

现在存在,但仍在无限期加载。我不确定还需要等待哪些其他元素。

最佳答案

如果您在上述网站上遇到订单问题,请确保当您使用相同的详细信息手动结账时,该网站没有不同的行为。

虽然我在同一网站上尝试过访客用户结帐,但我在下面的 API 中遇到了连接超时错误

POST https://www.converse.ca/braintree/checkout/quoteTotal/ net::ERR_CONNECTION_TIMED_OUT

这导致旋转器继续滚动。

如果存在元素特定问题,那么您可以处理它。下订单的最佳用例是

当它出现在订单审核部分时,无论位置或按钮是否准备就绪,您都必须使用显式等待条件。引用下面的代码

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "button[title='Place Order']")).click()

然后等到旋转器消失以确保订单已完成。

 WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "review-please-wait"))

注意:确保每个部分的等待时间都有足够的时间,直到信息加载完毕,因为在您选择某些选项时会进行一些 API 调用。因此它可能会导致您的脚本失败,因为您的脚本很好但系统尚未准备好。

关于python - Chrome Webdriver 无法完成产品结帐自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52676925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com