2010-07-26 46 views
0

試圖讓我的腦袋出現問題,不確定是否真的有解決方案或解決方案可用。我試圖找出是否可以指定一個在網頁源代碼中的「術語」,並讓「黑匣子」爲DOM元素生成一個完全合格的XPath,該元素包含/使用了「術語」xpath/dom/term question

換句話說,如果我有一個網頁,有<a href="bbb" name='foo'>,我希望能夠指定類似:

attribute="name 
data="foo" 

,輸出將是完全合格的XPath得到<a/>項目

我正在尋找一個工具的開始,該工具將允許我指定網頁的特定元素;該應用程序/函數將解析DOM /頁面,構建樹,然後返回完全合格的XPath的輸入..

我已經查看/搜索通過網絡上的各種數據,並沒有太多的成功.. 。

更新:: 我不是在尋找一個解決方案來創建一個單一的XPath,我正在尋找如何來概括這個問題...

我可以很容易地針對給定的情況下創建XPath ...但我想走另一條路。

我想要的「黑盒」給我「//...[@name="foo」]因此基於輸入

,該應用程序將確定頁面有元素,然後爲DOM元素生成正確的XPath ...

以這種方式,我可以指定一個表單,然後錨點,一個什麼,只要我定義elementtype/id/name,輸出將是合格的XPath然後生成該項目/元素的數據。

希望澄清一下東西..

回答

0

試用XPather

在查詢你指定是這樣的://*[@name="foo"],那麼你從結果窗口複製完整的XPath。

+0

嘿spektom ... 你想我的問題/問題..我可以很容易地創建一個給定的場景XPath ...但我想走另一條路。 我想要「黑盒子」給我的「//...[@name="foo」] 所以根據輸入,應用程序將確定頁面是否有元素,用於DOM元素的XPath ... – 2010-07-26 14:42:26

+0

'// * [@ name =「foo」]是對黑箱(稱爲XPather)的輸入查詢,這意味着:查找具有值爲name的屬性「name」的所有元素'foo'(這是因爲XPather只能理解XPath輸入格式)黑盒子查找所有匹配這個查詢的元素(可以有多個元素),然後你從黑盒詢問它爲每個元素生成完整的Xpaths發現我很確定你可以重複使用XPather編程方式以及 – spektom 2010-07-26 15:36:17

+0

嘿spektom ... 再次感謝..但是,我不想製作任何XPath飼料到黑匣子fo它返回數據。 我想提供一個「元素類型」和一個屬性,並讓黑盒子返回XPath,然後可以用它返回/生成最終的結果數據集... xpather無法完成此操作。xpather需要一個xpath函數/查詢然後解析dom ... 謝謝 – 2010-07-26 16:55:21