2016-11-21 17 views
1

下面是代码,我们正试图单击另一个弹出窗口后点击第一个弹出消息也触发并需要点击那也。我们将Java脚本嵌入到JAVA中,并使用phantomJS进行操作。无法点击弹出allert消息“确定或取消”与PhantomJS Selenium Java,与IE正常工作

不知道如何处理与JavaScript两个弹出式结果,并与Java嵌入它,让它与phantomJS工作。

与IE浏览器,我们能够处理与开关警报和工作正常弹出..

  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();" 
        + "})"); 

回答

0

你有一个错字,未终止的字符串:

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

确定这是好的。我错过了...仍然问题是一样的...请让我现在如何处理JavaScript中的弹出窗口。与PhantomJS“ON Alert”相同 –

+0

您正确使用了'page.onConfirm'回调。究竟它现在不工作呢? – Vaviloff