屏幕抓取 - XPATH Contain() 函数不适用于具有<div>相同名称的多个标签


标签。

我正在尝试抓取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>

我将以下 xpath 查询与包含函数一起使用,因为有多个表单项标签://div[@class='form-item' and contains(.,'@')]/a/text()

此查询不起作用。我尝试删除/a/text(),它显示<script>中的文本而不是标签文本。

我做错了什么?

如果我

正确理解您的目标,您的目标是<div>中的文本而不是<a>中的文本。

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

最新更新