XPATH Contain()函数不适用于具有相同名称的多个<div>标记</div>

时间:2014-04-07 18:23:39

标签: xpath screen-scraping contains

我试图抓取XML代码的以下部分(仅摘录)。第二个表格项目是我试图抓住的东西:

<div class="form-item">
<a href="http://www.avaopera.org" target="_blank" rel="" class="">http://www.avaopera.org</a>
</div>
<div class="form-item">
<script type="text/javascript">
document.write('*[block of text]*')
</script>
<a href="mailto:ademarco@avaopera.org">ademarco@avaopera.org</a>
</div>

我在contains函数中使用了以下xpath查询,因为有多个表单项标记://div[@class='form-item' and contains(.,'@')]/a/text()

此查询不起作用。我尝试删除/a/text()<script>显示{{1}}但不显示标记文字。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的目标,您就会定位<div>内的文字,而不是<a>中的文字。

请尝试使用//div[@class='form-item' and contains(a/text(),'@')]/a/text(),因为这将搜索<a>内的子<div>元素,而不是其父元素。