为什么我无法在包含'svg'元素的xpath的网页中找到'svg'元素?

在包含下面这段代码的网页:为什么我无法在包含'svg'元素的xpath的网页中找到'svg'元素?

... 

<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">

....

我用的是“尝试XPath的”扩展搜索的XPath,我尝试下面的表达式:

//svg 

,但没有命中回来。找到的元素数量为零。该页面中没有iframe。

那么会发生什么? (我不能发布页面,因为它不是公开的)...

回答:

您更好地利用

//*:svg 

这意味着有任何名字空间和本地名称的所有后代是svg

//*[local-name() = 'svg'] 

上面的一个也会工作。希望这有助于...

回答:

<svg>元素有一个名称空间。您需要使用前缀注册名称空间,并在XPath中指定前缀。例如,如果您注册http://www.w3.org/2000/svg前缀s,XPath表达式将成为

//s:svg 

如何注册命名空间取决于你所使用的语言的方法。下面的XPath

以上是 为什么我无法在包含'svg'元素的xpath的网页中找到'svg'元素? 的全部内容, 来源链接: utcz.com/qa/261881.html

回到顶部