为什么我无法在包含'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