XPath表达式无法提取mailto:attribu

2024-10-01 02:30:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用此XPath获取mailto后面的text():

//a[starts-with(@href, 'mailto')]/text()

现在,我希望能够为这样的属性提取后面的mailto:

^{pr2}$

我想得到:info@info.com?subject=hello

我应该使用什么XPath来获取mailto:后面的字符串?在

Edit:似乎mailto:是使用javascript生成的。 斯皮奇能应付这种事吗?在

    <script type="text/javascript">
 <!--
 var prefix = '&#109;a' + 'i&#108;' + '&#116;o';
 var path = 'hr' + 'ef' + '=';
 var addy54802 = '&#105;nf&#111;' + '&#64;';
 addy54802 = addy54802 + 'zl&#97;ng&#111;' + '&#46;' + 'c&#111;m?s&#117;bj&#101;ct=C&#97;r&#101;&#101;r%20&#97;t%20Zl&#97;ng&#111;';
 var addy_text54802 = 'here';
 document.write('<a ' + path + '\'' + prefix + ':' + addy54802 + '\'>');
 document.write(addy_text54802);
 document.write('<\/a>');
 //-->\n </script>

解决方案:我认为我应该在javascript中使用Selenium。在


Tags: pathtextinfoprefixvarscriptjavascriptng
2条回答
for $a in //a[starts-with(@href, 'mailto')]
    return substring-after(normalize-space($a/@href),'mailto:')

更新

^{pr2}$

考虑下面的示例XML,用于获取mailto:之后的字符串

<?xml version="1.0" encoding="UTF-8"?>
<div>
    <a href="mailto:info@info.com?subject=hello">here</a>
</div>

您可以使用下面的xpath表达式

^{pr2}$

它返回info@info.com?subject=hello

在您的例子中,xpath看起来像:

substring-after(//a[starts-with(@href, 'mailto')]/@href,'mailto:')

相关问题 更多 >