Не удается щелкнуть всплывающее сообщение с аллергией "ОК или Отмена" с помощью PhantomJS Selenium Java, нормально работает с IE
Ниже приведен код, который мы пытаемся щелкнуть по первому всплывающему сообщению после того, как щелкнуло другое всплывающее окно, также срабатывает и нужно также нажать на него. Мы встраиваем java-скрипт в JAVA и делаем это с phantomJS.
Не уверен, как обработать с помощью 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();"
+ "})");
1 ответ
У вас есть опечатка, неопределенная строка:
engine.eval("var webPage = require('webpage');
^
+ "var page = webPage.create();"