当前位置: 首页 > 知识库问答 >
问题:

有没有办法通过Xpath获取元素,包括Javascript中的隐藏项?

凌俊材
2023-03-14

我需要通过xpath获取DOM元素。我从这个链接中得到了答案,在SeleniumWebDriver中有没有一种使用JavaScript通过XPath获取元素的方法?。在隐藏元素(显示:无)的情况下,此函数不会返回准确的结果。

在本例中,我尝试获取第一个div内容,但它显示了第二个div元素,它将隐藏元素带入计数。我还需要在计数中提取隐藏元素。在这方面需要帮助。

共有1个答案

司徒元明
2023-03-14

我在这里有你的片段,并稍微修改了一下。

对我来说,它可以访问隐藏节点的内容,并将其添加到结果页面。(Firefox 35.0浏览器/Debian)

您是否偶然将显示的HTML结果误解为日志输出?

function getElementByXpath (path) {
  return document.evaluate(path, document, null,
    XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}

document.write("<br/>1: [" + 
  getElementByXpath("//html/body/div[1]").innerHTML + "]");
document.write("<br/>2: [" + 
  getElementByXpath("//html/body/div[2]").innerHTML + "]");
<div style="display:none;">First Div</div>
<div>Second Div</div>
 类似资料:
  • [固定] 我正在使用jsoup在Java中完成它。这符合我的需要。

  • 我用Java编写了一个程序,我有以下问题: 在课程的后期,我再次需要这些学生。我可以这样做: 但是我没有学生的人数。有没有办法让他们的名字,这是在类学生?

  • 问题内容: 我正在寻找类似的东西: 我需要使用JS获取元素的innerHTML(要在Selenium WebDriver / Java中使用它,因为WebDriver本身无法找到它),但是如何? 我可以使用ID属性,但并非所有元素都具有ID属性。 [固定] 我正在使用jsoup在Java中完成它。这符合我的需求。 问题答案: 您可以使用: 计算XPath表达式字符串,并在可能的情况下返回指定类型的

  • 问题内容: 我的HTML中有1个按钮和一些文本,如下所示: 当用户单击按钮时,中的内容将成为以下预期结果: 谁能帮我如何编写javascript函数?谢谢。 问题答案: 尽管这是一个非常棘手的解决方案,但由于它仍然是公认的答案,因此我将Gabi的代码合并到其中,而我自己的代码将成为一个不好的例子。

  • 嗨,我一直在到处寻找一个非常简单的解释,如何通过xPath找到一个元素。 我想要的只是一种简单的方法来寻找一个元素,但是我想要找到的所有帮助都需要一个。这对我不管用。以下是我想做的: 加载URL 这是我的代码: 当我执行 我得到未定义时,我做 有没有更简单的方法来获取元素?也许是。。。。

  • 问题内容: 因此,我使用Python 3.2.1的cElementTree解析了一些XML文件,并且在解析过程中,我注意到某些标签缺少属性信息。我想知道是否有任何简单的方法来获取xml文件中这些元素的行号。 问题答案: 查看文档,我看不到使用cElementTree做到这一点。 但是,我对lxml的XML实现版本感到幸运。使用libxml2,它的替换量几乎下降了。元素具有属性。(以及获得许多其他X