如何使用WebDriver处理/接受PhantomJS中的JS警报?

编程入门 行业动态 更新时间:2024-10-26 20:21:16
本文介绍了如何使用WebDriver处理/接受PhantomJS中的JS警报?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

PhantomJSDriver for Selenium是新手,它如何处理JS警报?

Being new to PhantomJSDriver for Selenium, how does it handle JS alerts?

我已经找到了JSPhantom onAlert 文档,但是可以等效的PhantomJSDriver代码

I've found the JSPhantom onAlert documentation, but what would the equivalent PhantomJSDriver code for

Driver.SwitchTo().Alert().Accept();

是吗?

此刻,我早早返回了PhantomJSDriver的保护子句,以阻止异常,但是PhantomJS中的js警报应该如何与之交互?

At the moment, I've returning early with a guard clause for PhantomJSDriver, to stop exceptions, but how should js alerts in PhantomJS be interacted with?

推荐答案

我在PhantomJS Web驱动程序处理警报时遇到了类似的问题.以下代码似乎可以解决该问题. 这是一个C#实现,但也应与Java一起使用..

I had similar problems with PhantomJS Web Driver handling alerts. The below code seems to resolve the issue. This is a C# implementation but should work with Java too..

public IAlert GetSeleniumAlert() { //Don't handle Alerts using .SwitchTo() for PhantomJS if (webdriver is PhantomJSDriver) { var js = webdriver as IJavaScriptExecutor; var result = js.ExecuteScript("window.confirm = function(){return true;}") as string; ((PhantomJSDriver)webdriver).ExecutePhantomJS("var page = this;" + "page.onConfirm = function(msg) {" + "console.log('CONFIRM: ' + msg);return true;" + "};"); return null; } try { return webdriver.SwitchTo().Alert(); } catch (NoAlertPresentException) { return null; } }

然后在代码中,您希望出现警报

And later in the code where you expect Alerts to occur

IAlert potentialAlert = GetSeleniumAlert(); if (potentialAlert != null) //will always be null for PhantomJS { //code to handle Alerts IAlert alert=webDriver.SwitchTo().Alert(); alert.Accept(); }

对于PhantomJS,我们将对Alerts的默认响应设置为accept.

For PhantomJS, we are setting the default response to Alerts as accept.

更多推荐

如何使用WebDriver处理/接受PhantomJS中的JS警报?

本文发布于:2023-11-27 22:59:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1639961.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:警报   如何使用   PhantomJS   WebDriver   JS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!