【问题标题】:Selenium - Find all elements of a web pageSelenium - 查找网页的所有元素
【发布时间】:2013-11-10 01:43:09
【问题描述】:

我正在计划一个 Java 工具,它有一个包含网页所有元素的下拉菜单。有什么办法可以将它们读入数据结构?

【问题讨论】:

  • 嗨..你能开发上述工具吗?甚至计划开发相同的工具.. 需要您的意见..
  • 这仍然是一个 WIP,但我们正在取得进展。
  • 你能解释一下开发过程的总结吗??
  • 这是一个用于开发脚本的摇摆 UI,它调用 javascript 来执行这些脚本。

标签: java selenium find webpage elements


【解决方案1】:

是的,有办法。

这是一些伪代码:

List<WebElement> el = driver.findElements(By.cssSelector("*"));

for ( WebElement e : el ) {
  add(e.tagName());
}

【讨论】:

  • 谢谢。我确定在这种情况下我看不到 cssSelectors。例如,我尝试了 google.com,我得到了这些 - 图片 地图 播放 YouTube 新闻 Gmail 更多 登录
  • 知道如何捕获自定义元素吗?已尝试使用 execute-script document.all 但这似乎仍然只返回标准元素
  • 这是否也会获取自定义元素(非默认但由用户创建的元素/标签,例如,)?
  • 是的,它会的。任何 Dom 元素。 By.cssSelector("我的标签")
【解决方案2】:

上面的非伪 C# 版本:(虽然我只是在控制台中显示结果

IReadOnlyCollection<IWebElement> el = driver.FindElements(By.CssSelector("*"));
foreach (IWebElement elm in el)
{
    Console.WriteLine(elm.TagName + elm.Text);
}

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 2022-01-14
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多