【问题标题】:Get ID, Class of Current Focuesd Element in Selenium获取 ID,Selenium 中当前重点元素的类别
【发布时间】:2016-03-31 17:02:42
【问题描述】:

在 Selenium 中有很多方法可以选择或聚焦一个元素,例如使用 TAB 键我们可以聚焦下一个元素。 但是,Selenium 中是否有任何方法可以获取当前焦点元素的所有详细信息,例如 id、class、href、text 等? 我想专注于 Pitbull 的 Facebook 页面 https://www.facebook.com/pitbull/photos/a.440436327400.230702.95051637400/10153236215477401/?type=3&theater 的“赞”、“评论”或“分享”按钮,但对我来说没有任何效果,我尝试了 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);

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

【问题讨论】:

  • 附带问题:我可以问一下这个用例吗? selenium 是一个测试工具,所以...为什么要测试 facebook? ;)
  • 我认为 Selenium 会自动对焦,不是吗?
  • 学习自动化。自动化 Facebook 非常困难。无论如何,我正在寻找一种方法来获取焦点元素的详细信息,就像 HTMLunit 具有这样的功能。
  • 你好,Roman C,对不起,我没听懂你在说什么。
  • nop,贴出你尝试过的代码,因为没有人能理解你写的内容

标签: java facebook selenium automation focus


【解决方案1】:

你可以使用

WebElement activeElement = driver.switchTo().activeElement(); 
String className =  activeElement.getAttribute("class"); 
String id = activeElement.getAttribute("id");

【讨论】:

    猜你喜欢
    • 2017-04-01
    • 1970-01-01
    • 2016-11-18
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    相关资源
    最近更新 更多