在包含以下代码的网页中:
...
<svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1394" height="450" style="background: rgb(255, 255, 255) none repeat scroll 0% 0%;">
<defs id="defs-a3c0aa">
<g class="clips">
<clipPath class="axesclip" id="clipa3c0aax">
<rect x="40" y="0" width="1274" height="450">
....
我使用'Try XPath'扩展来搜索xpath,我尝试使用以下表达式:
//svg
但没有回击。找到的元素数量为零。并且该页面中没有iframe。
那么可能会发生什么? (我不能发布页面,因为它不公开)...
答案 0 :(得分:1)
最好使用xpath下面的
//*:svg
它表示所有具有任何名称空间及其本地名称的后代都是svg
。
//*[local-name() = 'svg']
以上也可以。希望这会有所帮助...
答案 1 :(得分:0)
<svg>
元素具有命名空间。您需要使用前缀注册名称空间,并在XPath中指定前缀。例如,如果为s
注册前缀http://www.w3.org/2000/svg
,则XPath表达式将变为
//s:svg
如何注册命名空间取决于您使用的语言。