xpath 不包含 A 和 B

xpath not contains A and B

如何添加 not(contains(.,'facebook')not(contains(.,'twitter') 到我的 xpath。

sites = selector.xpath("//h3[@class='r']/a[@href[not(contains(.,'google')   )]]/@href")

我想找一个没有googlefacebooktwitter的url 请帮助我,谢谢

您可以加​​入条件 and:

//h3[@class='r']/a[not(contains(@href,'google')) and not(contains(@href,'facebook')) and not(contains(@href,'twitter'))]/@href")

或者,使用 Selector 实例上可用的 .re() method

selector.xpath("//h3[@class='r']/a/@href").re('^(?!.*(google|facebook|twitter)).*$')

此外,您可以使用 re:test() function:

selector.xpath("//h3[@class='r']/a[not(re:test(@href, '(google|facebook|twitter)'))]/@href")