2016-11-21 16 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