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
Xpath,使用两个查询返回两条信息,而不是同时返回两条信息_Xpath - Fatal编程技术网

Xpath,使用两个查询返回两条信息,而不是同时返回两条信息

Xpath,使用两个查询返回两条信息,而不是同时返回两条信息,xpath,Xpath,我试图编写两个xpath查询,分别从2个div中获取2位信息。问题是,我似乎只是把他们两个结合在一起 我试过以下几种: //a[@data-role='sku']/img/@title 这将返回“橙色”和“粉色” 但我想要的是两个独立的查询,如: //a[@data-role='sku']/img/@title[1] - orange //a[@data-role='sku']/img/@title[2] - pink 代码如下: <ul id="j-sku-list-1" clas

我试图编写两个xpath查询,分别从2个div中获取2位信息。问题是,我似乎只是把他们两个结合在一起

我试过以下几种:

//a[@data-role='sku']/img/@title
这将返回“橙色”和“粉色”

但我想要的是两个独立的查询,如:

//a[@data-role='sku']/img/@title[1] - orange

//a[@data-role='sku']/img/@title[2] - pink
代码如下:

<ul id="j-sku-list-1" class="sku-attr-list util-clearfix" data-sku-prop-id="14" data-isselect="true">
                                                                                                                             <li class="item-sku-image"><a data-role="sku" data-sku-id="350852" id="sku-1-350852" title="orange" href="javascript:;" class=""><img src="https://ae01.alicdn.com/kf/HTB1GIlhkL6H8KJjy0Fjq6yXepXa3/Ahagaga-2018-Spring-Summer-Rompers-Woman-Jumpsuits-Fashion-Floral-Print-Loose-Sexy-Women-Playsuits-Regular-Casual.jpg_50x50.jpg" title="orange" bigpic="https://ae01.alicdn.com/kf/HTB1GIlhkL6H8KJjy0Fjq6yXepXa3/Ahagaga-2018-Spring-Summer-Rompers-Woman-Jumpsuits-Fashion-Floral-Print-Loose-Sexy-Women-Playsuits-Regular-Casual.jpg_640x640.jpg"></a></li>
                                                                                                                                                             <li class="item-sku-image active"><a data-role="sku" data-sku-id="1052" id="sku-1-1052" title="pink" href="javascript:;" class=""><img src="https://ae01.alicdn.com/kf/HTB1D916jkfb_uJjSsrbq6z6bVXaT/Ahagaga-2018-Spring-Summer-Rompers-Woman-Jumpsuits-Fashion-Floral-Print-Loose-Sexy-Women-Playsuits-Regular-Casual.jpg_50x50.jpg" title="pink" bigpic="https://ae01.alicdn.com/kf/HTB1D916jkfb_uJjSsrbq6z6bVXaT/Ahagaga-2018-Spring-Summer-Rompers-Woman-Jumpsuits-Fashion-Floral-Print-Loose-Sexy-Women-Playsuits-Regular-Casual.jpg_640x640.jpg"></a></li>
                                                                                    </ul>

索引元素,其中包含图像,而不是标题:

//a[@data-role='sku'][1]/img/@title

//a[@data-role='sku'][2]/img/@title
或标题,但在所有标题范围之外:

(//a[@data-role='sku']/img/@title)[1]
(//a[@data-role='sku']/img/@title)[2]

您的查询
//a[@data role='sku']/img/@title[2]
不起作用,因为它会搜索具有第二个标题的图像,但您的所有图像都只有一个标题,我想)

您没有向我们显示源文档,因此我们稍微猜测一下,但我怀疑应该是这样的

(//a[@data-role='sku']/img)[1]/@title
(//a[@data-role='sku']/img)[2]/@title
记住,下标的绑定比“/”更紧密,因此
a/b/c[1]
意味着选择每个
a/b/c
,其中c是相应
b
的第一个子项;如果您想要第一个
a/b/c
整体,则需要
(a/b/c)[1]


这意味着将
[1]
(或任何其他下标)紧跟在
@title
之后是没有意义的,因为选择的
@title
不能超过一个。

您当前的两个独立查询有什么问题?我需要两个查询,这样我就可以将颜色分开。“橙粉”不是一种颜色,我想分开退。每种颜色一个查询。这似乎也不起作用。此//a[@data role='sku']/img[1]/@title返回两种颜色。如果您有多个//a[@data role='sku']元素,请重复它们)我将更新答案