当前位置:  开发笔记 > 编程语言 > 正文

使用Selenium在现有浏览器会话中打开新选项卡

如何解决《使用Selenium在现有浏览器会话中打开新选项卡》经验,为你挑选了2个好方法。

我在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")
}

但我计划导航到的网站有单点登录.如何在现有浏览器会话中打开新选项卡并从那里导航?上面的代码似乎不起作用.

太感谢了!



1> Andersson..:

要处理新标签,您应该先切换到它.试试以下:

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());



2> nthpixel..:

发送Keys.Control + "t"对我不起作用。我不得不用javascript来做,然后切换到它。

((IJavaScriptExecutor)driver).ExecuteScript("window.open();");
driver.SwitchTo().Window(driver.WindowHandles.Last());

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有