我正在尝试使用相同的webdriver或任何其他技术在Firefox中打开新窗口。
如果我正在www.abc.com的一个页面上工作,现在我想打开另一个页面,www.xyz.com并且打开后我必须执行一些操作并比较一些项目来自" abc"页面" xyz"页。
比较后,我想切换回" abc"的原始页面。以下是我使用的代码块:
IWebDriver iWebDriver = new FirefoxDriver();
iWebDriver.Manage().Cookies.DeleteAllCookies();
iWebDriver.Navigate().GoToUrl("https://www.google.com/");
iWebDriver.Manage().Window.Maximize();
string winHandler = iWebDriver.CurrentWindowHandle;
IWebDriver iiWebDriver = new FirefoxDriver();// trying this to open new window
iiWebDriver.Navigate().GoToUrl("https://www.facebook.com/");
iiWebDriver.Manage().Window.Maximize();
System.Threading.Thread.Sleep(5000);
iiWebDriver.SwitchTo().Window(winHandler); // this aint swithcing back to the previously opened window
答案 0 :(得分:0)
您启动的代码有两个独立的浏览器,每个浏览器都由自己的驱动程序控制。 iWebDriver
是控制浏览器并打开谷歌页面的驱动程序,iiWebDriver
是控制浏览器并打开Facebook页面的驱动程序。如果您想对Google页面执行某些操作,请使用iWebDriver
。如果您想对Facebook页面执行某些操作,请使用iiWebDriver
。你不需要弄乱窗口把手。窗口句柄方法用于例如在单个浏览器实例上出现弹出窗口时。
答案 1 :(得分:0)
使用此选项打开新标签页
driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t");
这将按下 ctrl + t 键,因此新选项卡将被打开。