我有一個包含「div」元素的網站。在這個「div」中,存在一個「svg」元素,它由JavaScript庫「RaphaelJS」生成。此外,我已經指示RaphaelJS在SVG元素內部創建一個具有特定href的圖像。如何使用XPath查詢在SVG圖像內通過其href查找圖像?
爲了做一些圖形用戶界面測試,我想測試圖像是否確實存在於SVG元素內部,具有預期的href。現在我想編寫一個XPath查詢(如果可能,稍後在Selenium IDE中使用)來執行測試。我似乎無法使用XPather或Selenium IDE完成工作。
下面是該網站的身體看起來如何在短:
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
...
<body>
...
<div id="my-container">
<table id="my-table">
<tbody>
<tr>
<td>
<div id="my-raphael-canvas">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100" height="100">
<image x="0" y="0" width="10" height="10" preserveAspectRatio="none" href="/images/my-icon.jpg"/>
</svg>
</div>
</td>
</tr>
</tbody>
</table>
...
</body>
</html>
應該如何XPath查詢的樣子,如果我想找到(SVG的內部)的「圖像」元素,由它的「href」?
在此先感謝您的幫助!
我不相信硒具有結合XML命名空間的任何方式對於用戶來說,我不認爲其對非本地的XPath(例如,用於支持互聯網工作正常Explorer)完全支持名稱空間,即使是擴展名稱也是如此。 –
感謝您的建議。到目前爲止,我沒有成功地綁定Selenium中的命名空間,但我也沒有成功地在例如XPather。 – workflow12
有沒有辦法使用命名空間「內聯」,而不是先綁定它?換句話說,不是將標籤「svg」綁定到[http://www.w3.org/2000/svg](http://www.w3.org/2000/svg),我可以使用完整的URI在我的XPath查詢? E.g.我成功地使用XPather在SVG命名空間的頁面上查找了所有元素,方法如下: //*[namespace-uri()='http://www.w3.org/2000/svg'] – workflow12