使用 C# 和 Selenium - 如何在 Csharp Selenium 中将一个选项卡切换到另一个选项卡?
我们可以在 C# 中使用 Selenium Webdriver 将一个选项卡切换到另一个选项卡。
有时点击链接或按钮时,可以在同一个浏览器中打开多个选项卡。
默认情况下,webdriver 只能够访问父选项卡。要访问第二个选项卡,我们必须借助 SwitchTo().Window() 方法来切换驱动程序焦点。准备切换到的选项卡的窗口句柄 ID 作为参数传递。
方法 CurrentWindowHandle 生成处于焦点中的选项卡的窗口句柄 ID。WindowHandles 方法返回浏览器中打开的所有选项卡的窗口句柄 ID。
让我们尝试切换浏览器中打开的选项卡,如下面的图片所示 −

语法
driver.SwitchTo().Window(driver.WindowHandles[1]);
示例
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System;
using OpenQA.Selenium;
namespace NUnitTestProject2{
public class Tests{
String url =" https://tutorialspoint.com/index.htm";
IWebDriver driver;
[SetUp]
public void Setup(){
//creating object of FirefoxDriver
driver = new FirefoxDriver("");
}
[Test]
public void Test2(){
//implicit wait
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
//URL launch
driver.Navigate().GoToUrl(url);
//identify element then click
IWebElement l = driver.FindElement(By.XPath("//*[text()='Jobs']"));
l.Click();
//switch to second tab
driver.SwitchTo().Window(driver.WindowHandles[1]);
//get current window handle id
Console.WriteLine
("Current window id: " + driver.CurrentWindowHandle);
Console.WriteLine("Page title in second tab is: " + driver.Title);
//close second tab
driver.Close();
//switch to first tab
driver.SwitchTo().Window(driver.WindowHandles[0]);
IWebElement m = driver.FindElement(By.TagName("h4"));
Console.WriteLine("Element in first tab is: " + m.Text);
}
[TearDown]
public void close_Browser(){
driver.Quit();
}
}
}输出

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP