Selenium webdriver 如何使用selenium webdriver打开新的浏览器窗口而不关闭以前的窗口
我正在使用下面的代码打开新的浏览器窗口,但它正在打开同一选项卡中的链接:-(。我想打开新的浏览器窗口,清除所有cookies,而不关闭第一个窗口Selenium webdriver 如何使用selenium webdriver打开新的浏览器窗口而不关闭以前的窗口,selenium-webdriver,Selenium Webdriver,我正在使用下面的代码打开新的浏览器窗口,但它正在打开同一选项卡中的链接:-(。我想打开新的浏览器窗口,清除所有cookies,而不关闭第一个窗口 ` Actions act = new Actions(driver); act.keyDown(Keys.CONTROL).sendKeys("N").build().perform(); driver.get("https://www.facebook.com");` 我也尝试过这个代码,但它没有帮到我: Rob
` Actions act = new Actions(driver);
act.keyDown(Keys.CONTROL).sendKeys("N").build().perform();
driver.get("https://www.facebook.com");`
我也尝试过这个代码,但它没有帮到我:
Robot Robot=新机器人();
robot.keyPress(KeyEvent.VK_N);
驱动程序。获取(“https://www.facebook.com”;
将显示任何帮助!!要启动浏览器的新实例,请实现以下代码示例:
// Store the current window url
String url = driver.getCurrentUrl();
// Create a new instance to open a new window
WebDriver driver2 = new FirefoxDriver(); // Use your own browser driver that you are using
// Go to the intended page [i.e, foo or some other link]
driver2.navigate().to(foo);
// Continue your code here in the new window...
// Close the popup window now
driver2.quit();
// No need to switch back to the main window; driver is still valid.
// demonstrate that the initial driver is still valid.
url = driver.getCurrentUrl();
您可以使用以下java脚本打开新窗口:
((JavascriptExecutor)driver).executeScript(“window.open(arguments[0]),“URL to open”);
首先,打开新窗口的组合键不正确。正确的组合键应该是Control+N
当您打开新窗口时,需要聚焦到该新窗口
您可以使用下面的代码片段打开新的浏览器窗口并导航到url。这是使用java.awt.Robot
包中的Robot
类
public void openNewWindow(String url) throws AWTException {
// Initialize the robot class object
Robot robot = new Robot();
// Press and hold Control and N keys
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_N);
// Release Control and N keys
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_N);
// Set focus to the newly opened browser window
ArrayList <String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(tabs.size()-1));
for (String windowHandle : driver.getWindowHandles()) {
driver.switchTo().window(windowHandle);
}
// Continue your actions in the new browser window
driver.get(url);
}
public void openNewWindow(字符串url)引发AWTException{
//初始化robot类对象
机器人=新机器人();
//按住控制键和N键
机器人按键(KeyEvent.VK_控制);
robot.keyPress(KeyEvent.VK_N);
//释放控制键和N键
robot.keyRelease(KeyEvent.VK_控制);
robot.keyerelease(KeyEvent.VK_N);
//将焦点设置为新打开的浏览器窗口
ArrayList tabs=新的ArrayList(driver.getWindowHandles());
driver.switchTo().window(tabs.get(tabs.size()-1));
对于(字符串windowHandle:driver.getWindowHandles()){
driver.switchTo().window(windowHandle);
}
//在新浏览器窗口中继续您的操作
获取(url);
}
感谢您的响应!!但此方法正在同一个旧选项卡中打开新链接。我想在新浏览窗口(浏览器的新实例)中打开新链接,比如说(facebook.com),而不关闭以前的窗口。这将打开一个新选项卡,但不是一个新的浏览器窗口,如问题所示。WebDriver driver2=new FirefoxDriver();我无法实例化浏览器。我使用的是TestNG framework,只实例化了一次浏览器。如果有其他解决方法,请告诉我。