Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/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
Html 如何为多个跨中具有相同类的跨定义XPATH?_Html_Xpath - Fatal编程技术网

Html 如何为多个跨中具有相同类的跨定义XPATH?

Html 如何为多个跨中具有相同类的跨定义XPATH?,html,xpath,Html,Xpath,我使用class=“viewSaveDietData”进行除法,该除法包含具有相同类名的跨距。我无法区分不同跨度的XPath。请告诉我各个跨度的XPATH <div class="viewSaveDietTitle" >Created By:</div><div class="viewSaveDietData" ><span class="Answer"><b style='color:#386AA1;'><a href="/ww

我使用class=“viewSaveDietData”进行除法,该除法包含具有相同类名的跨距。我无法区分不同跨度的XPath。请告诉我各个跨度的XPATH

<div class="viewSaveDietTitle" >Created By:</div><div class="viewSaveDietData" ><span class="Answer"><b style='color:#386AA1;'><a href="/www/community/ProfileWall.aspx?f=FitClick" title="FitClick">FitClick</a></b> on Jan 27, 2012</span></div>
                    <div style="clear:both;"></div>

                    <div class="viewSaveDietTitle" >Users:</div><div class="viewSaveDietData" ><span class="Answer">3,403 (<a href="/online_weight_loss_support?cdID=23982">Find someone using this diet</a>)</span></div>
                    <div style="clear:both;"></div>

                    <div class="viewSaveDietTitle" >Comments:</div><div class="viewSaveDietData" ><span class="Answer"><a href="#jump-to-comments">Be the first!</a></span></div>
                    <div style="clear:both;"></div>

                    <div class="viewSaveDietTitle" >Diet Category:</div><div class="viewSaveDietData" ><span class="Answer">Balanced</span></div>
                    <div style="clear:both;"></div>

                    <div class="viewSaveDietTitle" >Diet Plan Length:</div><div class="viewSaveDietData" ><span class="Answer">Ongoing</span></div>
                    <div style="clear:both;"></div>

                    <div class="viewSaveDietTitle" >Meals Per Day:</div><div class="viewSaveDietData" ><span class="Answer">3 meals, 4 meals, 5 meals, 6 meals</span></div>
                    <div style="clear:both;"></div>

                    <div class="viewSaveDietTitle" >Target Gender:</div><div class="viewSaveDietData" ><span class="Answer">Women and men</span></div>
                    <div style="clear:both;"></div>

                    <div class="viewSaveDietTitle" >Weight Goal:</div><div class="viewSaveDietData" ><span class="Answer">Lose weight, Maintain weight, Gain weight</span></div>
                    <div style="clear:both;"></div>

                    <div class="viewSaveDietTitle" >Cooking Difficulty:</div><div class="viewSaveDietData" ><span class="Answer">Easy</span></div>
                    <div style="clear:both;"></div>

                    <div class="viewSaveDietTitle" >Tags:</div><div class="viewSaveDietData" ><span class="Answer">52.5:22.5:25 Macronutrient Ratio</span></div>
                    <div style="clear:both;"></div>
创建人:2012年1月27日
用户:3403()
评论:
饮食类别:均衡
饮食计划长度:正在进行
每日膳食:三餐、四餐、五餐、六餐
目标性别:妇女和男子
体重目标:减肥、保持体重、增加体重
烹饪难度:简单
标签:52.5:22.5:25大量营养素比例

我想得到“Balanced”的xpath,我不确定我是否理解你的问题,但听起来你在寻找类似的东西

//div[@class='viewSaveDietTitle'][. = 'Diet Category']/
     following-sibling::div[1][@class='viewSaveDietData']/span/text()
这将选择span的文本,span是类为
viewSaveDietData
的div的子级,紧跟在包含标题字符串“Diet Category”的div之后。换句话说,我对您的问题的理解是,如何根据相关
div
的标题选择特定范围

如果只想根据跨度在文档中的顺序选择跨度,可以使用

(//span[@class = 'Answer'])[4]

我不确定我是否理解你的问题,但听起来你在寻找类似的东西

//div[@class='viewSaveDietTitle'][. = 'Diet Category']/
     following-sibling::div[1][@class='viewSaveDietData']/span/text()
这将选择span的文本,span是类为
viewSaveDietData
的div的子级,紧跟在包含标题字符串“Diet Category”的div之后。换句话说,我对您的问题的理解是,如何根据相关
div
的标题选择特定范围

如果只想根据跨度在文档中的顺序选择跨度,可以使用

(//span[@class = 'Answer'])[4]

我刚刚测试的一些方法(通过firefox selenium插件和firefox xpath插件)有:

此外(更具体地说):

仅按以下位置:

//div[@class="viewSaveDietData"][4]/span
仅通过回答span(不取决于是否在div中)与

(或者更简单地说)


因此:


是最具体的,这当然意味着在选择所需元素时最具体,但也会受到页面更改的影响。

我刚才测试的一些方法(通过firefox selenium插件和firefox xpath插件)包括:

此外(更具体地说):

仅按以下位置:

//div[@class="viewSaveDietData"][4]/span
仅通过回答span(不取决于是否在div中)与

(或者更简单地说)


因此:


是最具体的,这当然意味着它很可能在选择所需元素时最具体,但也会受到页面更改的影响。

得到了类似于Larsh的东西,但使用/*/而不是//,因为这使搜索更快。如果标题是唯一的,如果你对饮食分类的答案感兴趣,下面的代码或LarsH的代码应该是好的

/*/div[@class="viewSaveDietTitle" and text()="Diet Category:"]/following-sibling::div[1]/span/text()

得到了类似于Larsh的东西,但使用了/*/而不是//,因为这样可以加快搜索速度。如果标题是唯一的,如果你对饮食分类的答案感兴趣,下面的代码或LarsH的代码应该是好的

/*/div[@class="viewSaveDietTitle" and text()="Diet Category:"]/following-sibling::div[1]/span/text()

您尝试了哪些XPath表达式,结果是什么?您尝试了哪些XPath表达式,结果是什么?您尝试了哪些XPath表达式,结果是什么?我不想将其与其他表达式进行比较。实际上我想要xpath,如果它是平衡位置的任何其他数据,那么它也给出了平衡位置的精确值。我不想将它与平衡进行比较。实际上我想要xpath,如果它是平衡位置的任何其他数据,那么它也给出了平衡位置的精确值。我不想将它与平衡进行比较。实际上,我希望xpath这样,如果它将是任何其他数据在平衡的地方,那么它也给出了准确的值在平衡的地方。。
/*/div[@class="viewSaveDietTitle" and text()="Diet Category:"]/following-sibling::div[1]/span/text()