带功能的xPath union语句

带功能的xPath union语句

问题描述:

预先感谢您的阅读。带功能的xPath union语句

我使用$x() Chrome控制台的xPath评估程序。

我需要匹配类似$x("e1 | e2")的东西。

在我的情况:

  • E1:

    (//div[@class='seven columns omega']//form//div[@class='items_left']//text())[2]

  • E2

    (substring-after(//div[@class='seven columns omega']//span[@class='sold_out']/text(),' - '))

他们在单一的方式,但如果我想将它们合并我只是陷在

“无法执行‘评估’......”

两部作品PS的问题是E2的功能子,之后,没有它的工会工作。

任何想法? 这里有2个源我试图提取:再次

谢谢:)

+0

您不能在字符串值上使用联合运算符'|',只能计算节点集的联合。 –

+0

@MartinHonnen感谢您的回复。很高兴知道,几天前接近xpath。我可以使用我的purpouse的解决方法吗? – GrayFox

+0

你想要什么样的结果,两个结果的连接?使用纯XPath没有太多可以做,但在Chrome控制台内部,您仍然可以使用Javascript,所以您可以使用'$ x(“(// div [@ class ='seven columns omega'] // form // div [ @ class ='items_left'] // text())[2]“)+ $ x(”(substring-after(// div [@ class ='seven columns omega'] // span [@ class ='sold_out ']/text(),' - '))“)'。 –

基于要串您的意见值,并期望只有一个表达式可以在同一页面上找到某些东西,您可以简单地尝试

var result = $x("string((//div[@class='seven columns omega']//form//div[@class='items_left']//text())[2])") + $x("(substring-after(//div[@class='seven columns omega']//span[@class='sold_out']/text(),' - '))") 
+0

阿哈哈没错! 我刚刚发现这个解决方案呢!感谢你以前的评论,反对:D 其实工作,但我使用“concat”函数,而不是“+”运算符,我真的猜测他们都工作。 解决:) – GrayFox