打开新标签页并在该新标签页中打开网址的代码部分不起作用。它会打开新选项卡,但会在上一个选项卡中打开新网址。有人可以帮忙吗?
public class PractiseSession1
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
String URL="http://www.google.com";
System.setProperty("webdriver.gecko.driver", "D:\\Sourav Mukherjee\\BP-Oyster\\S2\\Selenium Server\\geckodriver-v0.16.1-win64\\geckodriver.exe");
DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver(dc);
driver.get(URL);
//Open a url in a new tab
driver.findElement(By.cssSelector("Body")).sendKeys(Keys.CONTROL+ "t");
driver.get("http://facebook.com/");
}
}
答案 0 :(得分:0)
编辑:问题不是关于迁移到新标签页,而是直接在标签页中打开链接
您必须将驱动程序移动到新选项卡。为此,请使用this method:
ArrayList<String> tabs2 = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs2.get(1));
driver.close();
driver.switchTo().window(tabs2.get(0));
答案 1 :(得分:0)
以下是您的问题的答案:
要打开网址,然后再次在另一个标签页中打开第二个网址,您可以使用JavascriptExecutor
。这是您自己的代码,在一个标签中打开http://www.google.com
,然后在另一个标签中打开http://facebook.com/
:
String URL="http://www.google.com";
System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver(dc);
driver.get(URL);
((JavascriptExecutor) driver).executeScript("window.open('http://facebook.com/');");
如果这回答你的问题,请告诉我。