java - PhantomJSDriver 接受警报

标签 java selenium phantomjs

如何使用 Java 中的 PhantomJSDriver 接受警报?我正在尝试通过 YouTube 做到这一点。我无法让它工作。

我已经尝试使用此代码接受任何驱动程序,但它不适用于 PhantomJS。

static void confirmDialog(WebDriver driver) {
    if (driver instanceof PhantomJSDriver) {
        PhantomJSDriver phantom = (PhantomJSDriver) driver;
        phantom.executeScript("window.confirm = function(){return true;}");
        phantom.executeScript("return window.confirm");
    } else driver.switchTo().alert().accept();
}

最佳答案

您必须执行 JS 才能将 window.alert 调用设置为不执行任何操作。您可以使用此方法。

static void confirmDialog(WebDriver driver) {
    if (driver instanceof PhantomJSDriver) {
        PhantomJSDriver phantom = (PhantomJSDriver) driver;
        phantom.executeScript("window.alert = function(){}");
        phantom.executeScript("window.confirm = function(){return true;}");
    } else driver.switchTo().alert().accept();
}

关于java - PhantomJSDriver 接受警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27994845/

相关文章:

javascript - 你如何通过 phantomjs 访问页面的未更改源

javascript - Selenium 和 PhantomJS 不解析 Javascript

javascript - $browser.notifyWhenNoOutstandingRequests 不考虑 Controller 功能

internet-explorer - Selenium 网格 : queue size of the Hub?

postgresql - 如何从两个表中获取数据?

java - 如何从 getServletContext().getContextPath() 返回域名

java - 从线程外部、线程运行内部设置 boolean 值

Java:无法在测试用例上实现 runnable:void run() 碰撞

java - 如何加快 Selenium 中的页面解析速度

java - 空对象引用上的“java.lang.String java.lang.Object.toString()”