如何按"ALT + T"在带有Java的Selenium webdriver中.我想通过按它来切换标签 [英] How to press "ALT+T" in Selenium webdriver with java. I want to switch tabs by pressing it
本文介绍了如何按"ALT + T"在带有Java的Selenium webdriver中.我想通过按它来切换标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用了下面的代码,但是它抛出一个错误:无法专注于元素".请帮忙.
I have used below code, but it throws an error saying "Cannot focus on element". Please help.
String selectAll = Keys.chord(Keys.ALT,"T");
driver.findElement(By.tagName("html")).sendKeys(selectAll);
推荐答案
您可以使用操作将Alt + Tab
之类的快捷键发送给驱动程序,而无需使用元素.
You can send ShortcutKeys like Alt + Tab
to driver without using element by using Actions.
public static void sendShortCut(WebDriver driver) {
Actions action = new Actions(driver);
action.sendKeys(Keys.chord(Keys.CONTROL, "T")).build().perform();
}
但是您的目标是切换到窗口/选项卡.在Selenium中,窗口和选项卡都相同.
However your goal was to switch to the window/tab.In Selenium both window and tab are same.
我为您提供了两种解决方案,这些解决方案从功能名称上可以自我解释
I've provided you two solutions which is self explanatory from the name of the functions
public static void switchToWindowByTitle(WebDriver driver, String title) {
Set<String> Handles = driver.getWindowHandles();
for (String handle : Handles) {
driver.switchTo().window(handle);
String drivertitle = driver.getTitle().trim();
if (drivertitle.equals(title)) {
break;
}
}
}
//Index is 0 based
public static void switchToWindowByIndex(WebDriver driver, int index) {
Set<String> handles = driver.getWindowHandles();
if (handles.size() > index) {
String handle = handles.toArray()[index].toString();
driver.switchTo().window(handle);
}
}
这篇关于如何按"ALT + T"在带有Java的Selenium webdriver中.我想通过按它来切换标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文