xpath
  • union
  • data-extraction
  • 2016-06-21 58 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

    相關問題