带功能的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个源我试图提取:再次
谢谢:)
答
基于要串您的意见值,并期望只有一个表达式可以在同一页面上找到某些东西,您可以简单地尝试
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
您不能在字符串值上使用联合运算符'|',只能计算节点集的联合。 –
@MartinHonnen感谢您的回复。很高兴知道,几天前接近xpath。我可以使用我的purpouse的解决方法吗? – GrayFox
你想要什么样的结果,两个结果的连接?使用纯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(),' - '))“)'。 –