【问题标题】:Can't click Continue button on PayPal using Selenium无法使用 Selenium 在 PayPal 上单击继续按钮
【发布时间】:2021-01-08 07:29:03
【问题描述】:

我已经通过 PayPal SandBox 自动付款,并且直到最近几天它一直运行良好。现在那里发生了一些变化,无论我做什么,我都无法再单击最终的继续按钮。我已经尝试了一切:常规点击、Actions 类、JS 点击、连续点击几次。没有什么帮助。最奇怪的是,当我在控制台中执行此操作时: document.getElementById('payment-submit-btn').click();它可以工作并且付款完成,但是当我使用 JavaScriptExecutor 执行相同的脚本时,它不再工作并且按钮没有被点击。有没有办法解决这个问题?

【问题讨论】:

  • 你有没有尝试过?
  • 是的,我在问题中提到过。
  • 您是否检查过该元素是否在 Iframe 中?
  • 是的,它看起来不像有一个 iframe,如果有的话,据我所知,这个 xpath 不会找到该按钮:“//button[contains(@id, '付款-提交-btn')]"

标签: javascript java selenium automated-tests paypal-sandbox


【解决方案1】:

请使用此 xpath 点击继续按钮

**//*[contains(text(),'Continue')]**

或

 //button[contains(text(),'Continue')]

【讨论】:

  • 不,没有用。使用您的 xpath 和此 xpath 都成功找到了该按钮:“//button[contains(@id, 'payment-submit-btn')]”。但我尝试过的任何自动化手段都没有点击它。
  • 您是否对该按钮使用了等待方法,认为您需要等待并单击,如果没有让我知道,请在单击继续按钮之前使用 webdriver 等待
  • 当然。页面已完全加载,当 Selenium 尝试单击该按钮时该按钮出现
  • 你有没有使用任何东西来页面加载和等待?
  • 是的,等待没有帮助。我等待所有微调器在单击之前消失,并且等待继续按钮可以单击。
【解决方案2】:

对我来说,有时会隐藏带有“cookie”消息和窗口未完全打开(继续按钮)的 PayPal 弹出窗口。

可以实现100%点击-

  1. 验证购物车按钮已加载。 (这里我们验证弹出窗口是否已加载)
  2. 在弹出窗口中接受 cookie 消息/按钮。
  3. 最大化页面。
  4. 点击继续按钮。

【讨论】:

    猜你喜欢
    • 2018-09-01
    • 1970-01-01
    • 2014-01-04
    • 2019-09-16
    • 1970-01-01
    • 2021-04-08
    • 2019-05-30
    相关资源
    最近更新 更多