通过 selenium web-driver java 确定在按下 Tab 键后选择了哪个 Web 表单元素?

Identifying which web form element is selected after pressing tab key via selenium web-driver java?

我正在使用 sendKeys(key,Keys.TAB) 方法在表单中导航。

Actions action = new Actions(driver);

    CharSequence key = null;
    for(int i=0;i<42;i++)
    {
    action.sendKeys(key,Keys.TAB).build().perform();
    }

在每个操作结束时(按 Tab 键)我想知道选择了哪个表单元素

我想到达表单的第 42 个元素并交叉检查它是否是所需的元素,为此我需要检索它的一些信息。 我是 selenium 的新手,我无法找到实现此目标的方法。

您可以使用 WebDriver 的 TargetLocator class 来达到这个目的。

WebElement currentElement = driver.switchTo().activeElement();

这将 return 您当前关注的当前元素。如果没有元素被聚焦,它将 return 你 body 元素,当你启动浏览器时就是这种情况。 在内部,它将 return 将元素 return 由 document.activeElement 编辑。所以要验证你总是可以 运行 as:

JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement currentElement = (WebElement) js.executeScript("return document.activeElement");