我在C#下面的当前代码打开一个窗口,然后在单击按钮后导航到指定的URL.
protected void onboardButton_Click(object sender, EventArgs e) { IWebDriver driver = new ChromeDriver(); driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t"); driver.Navigate().GoToUrl("http://www.google.com") }
但我计划导航到的网站有单点登录.如何在现有浏览器会话中打开新选项卡并从那里导航?上面的代码似乎不起作用.
太感谢了!
要处理新标签,您应该先切换到它.试试以下:
driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t"); driver.SwitchTo().Window(driver.WindowHandles.Last()); driver.Navigate().GoToUrl("http://www.google.com")
您也可能需要切换回来:
driver.SwitchTo().Window(driver.WindowHandles.First());
发送Keys.Control + "t"
对我不起作用。我不得不用javascript来做,然后切换到它。
((IJavaScriptExecutor)driver).ExecuteScript("window.open();"); driver.SwitchTo().Window(driver.WindowHandles.Last());