XPath表达式无法提取mailto:属性

时间:2012-07-27 07:22:39

标签: python regex xpath

我正在使用此XPath来获取mailto:

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

现在我希望能够提取 mailto:之后的内容:

<a href="mailto:info@info.com?subject=hello">here</a>

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

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

编辑:似乎是使用javascript生成mailto:。       可以scrapy处理这样的事情吗?

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

解决方案:我认为我应该将Selenium用于javascript。

1 个答案:

答案 0 :(得分:0)

for $a in //a[starts-with(@href, 'mailto')]
    return substring-after(normalize-space($a/@href),'mailto:')

<强>更新

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