Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在具有相同id的多个元素的文档中获取元素的XPATH?_Javascript_Jquery_Html_Dom_Xpath - Fatal编程技术网

Javascript 如何在具有相同id的多个元素的文档中获取元素的XPATH?

Javascript 如何在具有相同id的多个元素的文档中获取元素的XPATH?,javascript,jquery,html,dom,xpath,Javascript,Jquery,Html,Dom,Xpath,我从谷歌的AdWords网站上获取数据,该网站有多个元素具有相同的id 我想获得给定元素的XPath 假设页面可能包含具有相同id的多个元素,您能否建议一个jQuery/JavaScript函数来计算给定元素的XPath 请不要告诉我不应该有多个元素具有相同的id。这不是我的主意…你知道你可以使用/*[@id='blah'][1]和[2]等来访问xpath。这就是你想要的答案吗?你知道你可以使用/*[@id='blah'][1]和[2]来访问xpath等等。这就是您要寻找的答案吗?如果您知道您想

我从谷歌的AdWords网站上获取数据,该网站有多个元素具有相同的
id

我想获得给定元素的XPath

假设页面可能包含具有相同
id
的多个元素,您能否建议一个jQuery/JavaScript函数来计算给定元素的XPath


请不要告诉我不应该有多个元素具有相同的
id
。这不是我的主意…

你知道你可以使用
/*[@id='blah'][1]
[2]
等来访问xpath。这就是你想要的答案吗?

你知道你可以使用
/*[@id='blah'][1]
[2]来访问xpath
等等。这就是您要寻找的答案吗?

如果您知道您想要的元素将是该id的第n次出现,那么Martin的建议将起作用

您还可以通过多个属性搜索并定义一个元素来缩小结果范围,比如您知道对于具有特定名称或类的div元素,id是唯一的

//div[@id='hello' and @name='world']
这对您来说可能足够了,但如果不够,您可以通过相对于其他元素进行搜索来找到所需的元素

给定xml:

<root>
    <div id='parent1'>
        <div id='element1' />
        <div id='element2' />
    </div>
    <div id='parent2'>
        <div id='element1' name='foo' />
        <div id='element2' name='bar' />
    </div>
</root>

如果您知道您想要的元素将是该id的第n次出现,那么Martin的建议将起作用

您还可以通过多个属性搜索并定义一个元素来缩小结果范围,比如您知道对于具有特定名称或类的div元素,id是唯一的

//div[@id='hello' and @name='world']
这对您来说可能足够了,但如果不够,您可以通过相对于其他元素进行搜索来找到所需的元素

给定xml:

<root>
    <div id='parent1'>
        <div id='element1' />
        <div id='element2' />
    </div>
    <div id='parent2'>
        <div id='element1' name='foo' />
        <div id='element2' name='bar' />
    </div>
</root>

包含一个具有重复的
id
s的示例?您是否要求我们提供一个XPath表达式来获取这些元素中的某一个?或者您正在寻找一个JavaScript函数,该函数接收一个元素并输出一个XPath表达式来选择该节点?@Iwburk:我正在寻找一个函数,该函数接收一个元素并返回其XPath。包括一个重复的
id
s的示例?您是否要求我们提供一个XPath表达式来获得其中的某一个这些元素?或者您正在寻找一个JavaScript函数,该函数接收一个元素并输出将选择该节点的XPath表达式?@Iwburk:我正在寻找一个函数,该函数接收一个元素并返回其XPath。是的,我只是在寻找一个函数来实现这一点。我想XPath是基于XPath的,所以
[1]
[2]
相反,您能否解释一下“获取数据”,您在哪些方面以某种方式通过代码“获取数据”?首先,您是如何选择元素的?是的,我只是在寻找一个可以实现这一点的函数。我认为XPath是一个基于XPath的函数,因此
[1]
[2]
相反,您可以解释一下“获取数据”,在哪些方面您以某种方式“获取数据”?您是如何首先选择元素的?