xpath
  • union
  • data-extraction
  • 2016-06-21 27 views 0 likes 
    0

    预先感谢您的阅读。带功能的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(),' - '))“)'。 –

    回答

    1

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

    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

    相关问题