JPa*_*lan 10 c# asp.net selenium selenium-chromedriver selenium-webdriver
我在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")
}
Run Code Online (Sandbox Code Playgroud)
但我计划导航到的网站有单点登录.如何在现有浏览器会话中打开新选项卡并从那里导航?上面的代码似乎不起作用.
太感谢了!
And*_*son 13
要处理新标签,您应该先切换到它.试试以下:
driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t");
driver.SwitchTo().Window(driver.WindowHandles.Last());
driver.Navigate().GoToUrl("http://www.google.com")
Run Code Online (Sandbox Code Playgroud)
您也可能需要切换回来:
driver.SwitchTo().Window(driver.WindowHandles.First());
Run Code Online (Sandbox Code Playgroud)
发送Keys.Control + "t"
对我不起作用。我不得不用javascript来做,然后切换到它。
((IJavaScriptExecutor)driver).ExecuteScript("window.open();");
driver.SwitchTo().Window(driver.WindowHandles.Last());
Run Code Online (Sandbox Code Playgroud)
解决方案非常简单:
Driver.SwitchTo().NewWindow(WindowType.Tab);
Run Code Online (Sandbox Code Playgroud)
享受...
归档时间: |
|
查看次数: |
22370 次 |
最近记录: |