擅长:python、mysql、java
<p>您可以在XPath中检查只有一个类的元素:</p>
<pre><code>//li[@class='a']
</code></pre>
<p>但这只会寻找完全匹配的结果。所以你可以试试:</p>
^{pr2}$
<p>虽然这也会匹配“noa”或“abig”。所以你的最终答案可能是:</p>
<pre><code>//li[contains(concat(' ', @class, ' '), ' a ')]
</code></pre>
<p>在Scrapy中,如果选择器与一些非零内容匹配,那么它的计算结果将为true。所以你应该能写一些东西,比如:</p>
<pre><code>li_tag = response.xpath("//li[contains(concat(' ', @class, ' '), ' a ')]")
if li_tag:
print "Yes, I found an 'a' li tag on the page."
</code></pre>
<p>主要回答:<a href="https://stackoverflow.com/a/24672484/2250391">here</a></p>