我正在使用scrapy,我试图寻找包含特定文本的跨度。我有:带有文本()的Scrapy Xpath包含
response.selector.xpath('//*[@class="ParamText"]/span/node()')
返回:
<Selector xpath='//*[@class="ParamText"]/span/text()' data=u' MILES STODOLINK'>,
<Selector xpath='//*[@class="ParamText"]/span/text()' data=u'C'>,
<Selector xpath='//*[@class="ParamText"]/span/text()' data=u' MILES STODOLINK'>]
然而,当我运行:
>>> response.selector.xpath('//*[@class="ParamText"]/span[contains(text(),"STODOLINK")]')
Out[11]: []
为什么包含的功能无法正常工作?
谢谢,我可以问一下'。'意味着这里。我在“正则表达式”中猜测“任何字符”? – user61629
它是对元素本身的引用。另外,'..'是对元素父元素的引用;它们像* nix系统(Linux,Mac等)文件路径一样工作,其中“。”是当前目录,'..'是父目录。 –