使用XPath查找包含两件东西的链接

问题描述:

我正在使用XPath解析HTML文档以查找特定链接。具体的链接有一个域名和字符'@'。使用XPath查找包含两件东西的链接

//a[@*[contains(., 'domain')]] | //a[@*[contains(., '@')]]" 

将返回链接与 '域' 或 '@' 在他们,我需要 '域' 和 '@'

我一直在尝试使用:

//a[@*[contains(., 'domain')]] & //a[@*[contains(., '@')]]" 

但那不好。

你可以阅读有关XPath运算符here&运算符不存在。 此外,没有必要选择元素两次。 你可以使用任何

//a[@*[contains(., 'domain')]][@*[contains(., '@')]] 

//a[@*[contains(., 'domain')] and @*[contains(., '@')]] 

应该是一样容易:

//a[@*[contains(., 'domain')]][@*[contains(., '@')]]