使用scrapy测试标记中特定文本的存在

时间:2016-10-11 00:29:46

标签: python scrapy

我有兴趣测试我抓取的网页上是否存在特定文字(错误讯息)。我有以下工作声明:

   not_found=response.selector.xpath('//*[@id="Error"]/font[contains(text(),"is not found")]')

我可以看到它们是文档中提到的布尔测试(https://doc.scrapy.org/en/0.12/topics/selectors.html#scrapy.selector.XPathSelector.nonzero),但我不确定我是否可以在这里应用它来执行类似(伪代码)的操作:

    if __nonzero__(not_found):

我无法找到它导入,因此无法正常测试。我怎样才能使这个工作?

1 个答案:

答案 0 :(得分:1)

Python doc:__nonzero__

当您执行bool(not_found)时,它会自动使用 执行bool()

时会自动使用if not_found:

你不必使用__nonzero__而你不应该直接使用它(因为你有bool()这个)但如果你真的需要那么它应该{ {1}}