我正在使用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 个元素并交叉检查它是否是所需的元素,为此我需要检索它的一些信息。我是硒的新手,我无法找到实现这一目标的方法。
您可以使用
WebDriver 的 TargetLocator
类来实现此目的。
WebElement currentElement = driver.switchTo().activeElement();
这将返回它当前关注的当前元素。如果没有聚焦元素,它将返回body
元素,当您启动浏览器时就是这种情况。在内部,它将返回 u 返回的元素 document.activeElement
.因此,要验证,您始终可以运行为:
JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement currentElement = (WebElement) js.executeScript("return document.activeElement");