无法点击弹出的转发消息"确定或取消"使用PhantomJS Selenium Java,与IE一起工作正常

时间:2016-11-21 07:25:34

标签: javascript java selenium phantomjs mocha-phantomjs

下面是我们尝试在点击另一个弹出窗口后点击第一个弹出消息的代码也触发,并且还需要单击它。我们在JAVA中嵌入java脚本并使用phantomJS进行。

不确定如何处理javascript两个弹出窗口并将其嵌入java并使其与phantomJS一起使用。

使用IE浏览器,我们可以处理pop切换警报并正常工作..

          ScriptEngineManager factory =new ScriptEngineManager();
           ScriptEngine engine = factory.getEngineByName("JavaScript");
           File file = new File("C:/esi-sofea/phantom/phantom/phantomjs.exe");
               System.setProperty("phantomjs.binary.path", file.getAbsolutePath());

              PhantomJSDriver driver = new PhantomJSDriver();

    engine.eval("var webPage = require('webpage');
            + "var page = webPage.create();"

           + "page.onConfirm = function(msg) {"
           + "console.log('CONFIRM: ' + msg);"
           + "return true; // `true` === pressing the "OK" button, `false` === pressing the "Cancel" button
           + "}");

还尝试使用此代码获取页面标题并使用phantomJS正常工作。

           ScriptEngine engine = factory.getEngineByName("JavaScript");
           File file = new File("C:/esi-sofea/phantom/phantom           /phantomjs.exe");
               System.setProperty("phantomjs.binary.path", file.getAbsolutePath());

              PhantomJSDriver driver = new PhantomJSDriver();

           engine.eval("var webPage = require('webpage');"
                    + "var page = webPage.create();"
                    + "page.open('http:www.google.com', function (status) {"
                    + "console.log(page.title); "
                    + "phantom.exit();"
                    + "})");

1 个答案:

答案 0 :(得分:0)

你有一个错字,没有终结的字符串:

var subList = new List<Player>();
        foreach (var player in players)
        {
            if (players.Where(p =>
                (p.Height == player.Height) &&
                (p.UniformNumber  == player.UniformNumber )).Count() > 1)
            {
                subList.Add(item);
            }
        }