使用 Selenium WebDriver 和 Java 切换标签页。
我们可以使用 Selenium 切换标签页。首先,我们必须在新标签页中打开一个链接。需要使用 **Keys** 的 chord 方法以及 **sendKeys** 方法。Keys.chord 方法允许您一次传递多个键。这些键或字符串组作为参数传递给该方法。
我们将 **Keys.CONTROL** 和 **Keys.ENTER** 作为参数传递给 Keys.chord 方法。然后将整个字符串作为参数传递给 **sendKeys** 方法。最后,sendKeys 方法必须应用于通过 **driver.findElement** 方法识别的链接。
语法
String clickl = Keys.chord(Keys.CONTROL,Keys.ENTER);
driver.findElement(By.xpath("//*[text()='Terms of Use']")). sendKeys(clickl);然后将所有打开的窗口 ID 保存在 ArrayList 中,并使用 **switchTo** 方法将驱动程序焦点切换到新标签页。然后将新标签页的窗口 ID 作为参数传递给该方法。
最后,在新标签页上执行任务后,我们可以使用 **switchTo** 方法切换回父窗口,并将父窗口的窗口 ID 作为参数传递给该方法。
让我们在两个标签页之间切换 -

示例
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import java.util.List;
import java.util.ArrayList;
public class SwitchTab{
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver",
"C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://tutorialspoint.com/about/about_careers.htm");
// wait of 5 seconds
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
// Keys.Chord string
String clickl = Keys.chord(Keys.CONTROL,Keys.ENTER);
// open the link in new tab, Keys.Chord string passed to sendKeys
driver.findElement(
By.xpath("//*[text()='Terms of Use']")).sendKeys(clickl);
Thread.sleep(1000);
// hold all window handles in array list
ArrayList<String> newTb = new ArrayList<String>(driver.getWindowHandles());
//switch to new tab
driver.switchTo().window(newTb.get(1));
System.out.println("Page title of new tab: " + driver.getTitle());
//switch to parent window
driver.switchTo().window(newTb.get(0));
System.out.println("Page title of parent window: " + driver.getTitle());
driver.quit();
}
}输出

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