我对于Selenium 3在Firefox和Chrome中打开一个新选项卡有问题。
SeleniumTestBase.getDriver().findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"\t");在Chrome和Firefox中不起作用。
我可以为Chrome使用以下代码,但对于Firefox,它可以打开新的Windows。
JavascriptExecutor js = (JavascriptExecutor) SeleniumTestBase.getDriver();
js.executeScript("window.open('http://localhost:8080/games.html#machine','_blank');");我目前使用:
在此之前,非常感谢您。
Bes的问候,
萨莱
发布于 2019-08-20 08:34:49
我的解决方案,如果将来有人需要的话
driver.get('https://google.com')
last_handle = driver.current_window_handle
driver.execute_script('window.open("https://google.com", "new window")')
driver.switch_to.window(last_handle)
driver.close()
for i in driver.window_handles:
driver.switch_to.window(i)
driver.get('https://google.com.ua/')发布于 2018-01-12 11:59:25
Firefox / Chrome / Internet Explorer中打开一个Chrome,可以使用以下代码块:
((JavascriptExecutor)驱动器).executeScript(“window.open(‘’,'_blank');");http://localhost:8080/games.html#machine / Chrome / Internet Explorer在New TAB中打开URL代码块,可以使用以下代码块:
((JavascriptExecutor) JavascriptExecutor)发布于 2018-01-12 12:33:18
使用JavaScript在当前页面中插入一个链接DOM节点,然后单击它,最后删除它。不同的主浏览器应该支持DOM节点。
public newTab(String url) {
String script =
"var d=document,a=d.createElement('a');" +
"a.target='_blank';a.href='%s';a.innerHTML='new tab';" +
"d.body.appendChild(a);" +
"a.click();a.parentNode.removeChild(a);";
((JavascriptExecutor) driver).executeScript(String.format(script, url));
}请在浏览器的DevTool控制台选项卡中执行下面的javascript,如果它像预期的那样工作,那么上面的Java也应该可以工作。
var d=document,a=d.createElement('a');a.target='_blank';a.href='https://angularjs.org/';a.innerHTML='new tab';d.body.appendChild(a);a.click();https://stackoverflow.com/questions/48224522
复制相似问题