我正在使用JavascriptExecutor在Selenium Webdriver中打开一个新的选项卡/窗口。 我目前在Chrome中完美运行的代码,但在IE 9中它什么也没做。 编辑:运行时不会抛出任何错误,但不会打开新选项卡。
String url = webDriver.getCurrentUrl();
String script = "var anchor=document.createElement('a');anchor.target='_blank';anchor.href='%s';anchor.innerHTML='.';document.body.appendChild(anchor);return anchor";
Object element = ((JavascriptExecutor)webDriver).executeScript(String.format(script, url));
if (element instanceof WebElement) {
WebElement anchor = (WebElement) element;
anchor.click();
((JavascriptExecutor)webDriver).executeScript("var a=arguments[0];a.parentNode.removeChild(a);", anchor);
} else {
throw new RuntimeException("Unable to open tab: " + url);
}
这可能与浏览器设置有关,还是我需要修改javascript才能在IE中运行?
感谢此帖子:https://stackoverflow.com/a/9122450/1820749代码为上述代码。