获取 ID,Selenium 中当前焦点元素的类

car*_*rol 2 java selenium automation facebook focus

在 Selenium 中有很多方法可以选择或聚焦一个元素,例如使用 TAB 键我们可以专注于下一个元素。但是,在 Selenium 中是否有任何方法可以获取当前焦点元素的所有详细信息,例如 id、class、href、text 等?我想专注于帖子的“赞”、“评论”或“分享”按钮https://www.facebook.com/pitbull/photos/a.440436327400.230702.95051637400/10153236215477401/?type=3&theater的 Facebook 页面,但对 Pitbull 没有任何作用我,我尝试了 xpath、class、id,但无法专注于共享按钮。我可以使用 Tab 键专注于分享按钮大约 161 次,但我如何确认聚焦元素是“分享”按钮还是其他东西?;) 这是我的示例代码

WebDriver driver = new FirefoxDriver();
driver.get("https://www.facebook.com/");
driver.findElement(By.id("email")).click();
driver.findElement(By.id("email")).sendKeys("myemail@yahoo.com");
driver.switchTo().activeElement().sendKeys(Keys.TAB);
Run Code Online (Sandbox Code Playgroud)

在 TAB 键之后,您知道焦点将从电子邮件字段转到密码字段,那么如何在我的 selenium 代码中获取焦点元素的 id、类或其他详细信息?在我的示例中,它是密码字段。

Bua*_*ban 8

您可以使用

WebElement activeElement = driver.switchTo().activeElement(); 
String className =  activeElement.getAttribute("class"); 
String id = activeElement.getAttribute("id");
Run Code Online (Sandbox Code Playgroud)