如何自动处理弹出窗口 - SELENIUM + PYTHON

时间:2017-10-06 09:14:33

标签: python selenium

如何处理网页中的弹出窗口(在进行Web应用程序测试时),以便在检测到任何弹出对话框时自动执行?

  

(这意味着在任何情况下都会发生,比如按下按钮,(或)   打开页面,(或)按钮点击等发生。这意味着我们不知道对话框是否显示。

     

我们的想法是在测试任何Web应用程序时自动处理此类问题。

enter image description here enter image description here

如两张图片所示,例如,如果我点击“Deliver to”锚标签,将弹出模态窗口。点击链接已完成,但我面临的问题是:

  • 需要知道我是否需要在点击链接或其他内容时处理弹出窗口。如何知道下一步是什么?不只是对于amazon.in(如此处所示),而是为了概括(任何URL)。
  • 如果弹出(如图所示)如何处理?因为我试图处理警报框 alert = self.driver.switch_to.alert
    alert.accept()
    我试图处理相同的窗口。但似乎没有什么是正确的!

我将分享我引用的示例的链接。我认为同样可以从任何域访问,我猜编码将是相同的。 https://www.amazon.in/b/ref=2017Diwali_wave2_shopalldeals_atf?node=3419926031

提前致谢!

1 个答案:

答案 0 :(得分:0)

JavascriptExecutor可以为您效劳。在点击调用警报的事件之前,请务必执行它。

((JavascriptExecutor) driver).executeScript("window.confirm = function(msg) { return true; }");

注意: - 点击调用警报确认框的事件后不要使用它。默认情况下,上面的代码将确认框设置为true表示您接受/单击该webdriver会话上的所有确认框上的确定(如果被调用)。