以下は、別のポップアップをクリックしてもトリガーされ、それもクリックする必要がある後、最初のポップアップメッセージをクリックしようとしているコードです。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();"
+ "})");