我希望用xpath选择具有不同类的div节点。我该怎么办?我编写了这段代码,但它返回错误。
HtmlWeb w = new HtmlWeb();
string SearchResults = "http://www.ask.com/web?q=" + query.querytxt;
var hd = w.Load(SearchResults);
var titles = hd.DocumentNode.SelectNodes("//div[contains(@class='web-result ur tsrc')] && //div[contains(@class='web-result ur tsrc_Wiki-SA '] && //div[contains(@class='web-result ur tsrc_tube youtube-result ']"); 我需要这些div
//div[contains(@class='web-result ur tsrc')]
//div[contains(@class='web-result ur tsrc_Wiki-SA ')]
//div[contains(@class='web-result ur tsrc_tube youtube-result ']这是一个错误:
函数'contains‘在’//divcontains‘中(@class=’web-结果ur tsrc') && //divcontains(@class='web-result ur tsrc_Wiki-SA‘&& //contains)(@class=’web=‘web- tsrc_tube youtube-result '’)中包含无效的参数。
发布于 2016-07-19 12:27:37
在xpath中,contains()函数使用,来比较值,而不是=。因此,使用正确的xpath尝试如下:-
//div[contains(@class, 'web-result ur tsrc')]
//div[contains(@class, 'web-result ur tsrc_Wiki-SA ')]
//div[contains(@class, 'web-result ur tsrc_tube youtube-result ')]希望它有帮助.)
发布于 2020-05-10 14:35:11
若要选择具有不同类名的所有div(节点),请直接搜索类名。
您可以这样做:
hd.DocumentNode.SelectNodes("@class='web-result ur tsrc' or @class='web-result ur tsrc_Wiki-SA' or @class='web-result ur tsrc_tube youtube-result ']");https://stackoverflow.com/questions/38457855
复制相似问题