我需要使用selenium webdriver和java自动化Angular js应用程序。我还需要处理同步,即在我们处理它以用于非Angular JS应用程序时等待Angular Element。
。请建议我一个可能找到Angular JS元素的解决方案,使用Selenium Webdriver和Java进行等待并执行操作。
谢谢。
这是我以前发现的时间,并且使用它很成功地等待Angular。
final String script = "var callback = arguments[arguments.length - 1];n" +
"var rootSelector = 'body';n" +
"var el = document.querySelector(rootSelector);n" +
"n" +
"try {n" +
" if (angular) {n" +
" window.angular.getTestability(el).whenStable(callback);n" +
" }n" +
" else {n" +
" callback();n" +
" }n" +
"} catch (err) {n" +
" callback(err.message);n" +
"}";
((JavascriptExecutor) getDriver()).executeAsyncScript(script, new Object[0]);
您可以尝试ngdriver:https://github.com/paul-hammant/ngwebdriver,并在selenium webdriver上使用buid。