0
我正在rspec rails中編寫測試。如何使用nokogiri在rails中獲取xml屬性值的數組
我的觀點有類似
<div id = "dataDiv" data-items= "[["A",100],["B",200],["C",50]]" data-check= "check">
我需要測試這種劃分的數據和使用的XPath這一點。
在我的規格,
it should have_xpath('//div[@id="dataDiv"][@data-check="check"]')
工作正常,但
it should have_xpath('//div[@id="dataDiv"][@data-items="[["A",100],["B",200],["C",50]]"]')
拋出錯誤說 「無不能轉換成字符串」。
我嘗試以下,以獲得屬性值
find.xpath('//div[@id="dataDiv"]/@data-items')
但給出了同樣的錯誤如上。但是當我在瀏覽器中看到時,我確實有@data-items
。
我使用軌道3.1和1.4.4引入nokogiri
誰能幫助我如何得到這個作爲數組?
在html中允許自定義數據屬性,並且可以在客戶端使用javascript進行解析.data-check正常工作,正如我在我的問題中提到的。該數組來自我的ruby代碼。所以我無法修改引號。 –
@Studdy:是的,HTML5允許自定義'data-'屬性,但是'data-items'屬性不是有效的HTML5,因爲您試圖將雙引號放入雙引號屬性值'data-a =「」「 '不是HTML5屬性,也不是'data-items';'data-check =「check」'可以正常工作,因爲'「check」'是一個有效的屬性值,但'「[[」A「,100], [「B」,200],[「C」,50]]「'不是,你的XPath表達式遇到類似的引用問題。修復你的XPath,修復你的HTML並修復你的Ruby。 –