使用 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.tw/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