1

以下は、別のポップアップをクリックしてもトリガーされ、それもクリックする必要がある後、最初のポップアップメッセージをクリックしようとしているコードです。JAVAにjava-scriptを埋め込んでphantomJSでやっています。

その結果、javascript 2 ポップアップを処理し、それを 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();"
                    + "})");
4

1 に答える 1