CSS选择器选择div类名的某些部分

blu*_*der 3 html css xpath css-selectors

在div类中选择文本的一部分:

<div class="enabled_disabled disabled">
<div class="enabled_disabled">
<div class="enabled_disabled">
<div class="enabled_disabled">
<div class="enabled_disabled disabled">
Run Code Online (Sandbox Code Playgroud)

我有那些div标签,是否有任何xpath语法或fizzler CSS选择器语法只选择那些只有enabled_disabled的 div标签(中间的3)?而不是那些禁用enabled_disabled的人

var html = new HtmlDocument();
html.LoadHtml(getitems);

var doc = html.DocumentNode;
var items = (from r in doc.QuerySelectorAll("div.enabled_disabled:not(.disabled)")
    let Name = r.InnerHtml//QuerySelector("div.enabled_disabled div.title_bar div.rate_title span.name").InnerText.CleanInnerText()
    select new {
        CName = Name
    }).ToArray();
Run Code Online (Sandbox Code Playgroud)

SW4*_*SW4 10

Fizzler

要选择包含类的元素enabled_disabled,您可以使用:

[class='enabled_disabled']

在vanilla Fizzler中没有使用:not选择器,但是如果你抓住FizzlerEx就可以使用

XPath的

要选择包含类的元素enabled_disabled,您可以使用:

div[@class='enabled_disabled']

在普通的旧CSS中

如果div的指定类以以下内容开头 enabled_disabled:

div[class^=enabled_disabled ]

如果div的指定类包含 enabled_disabled

div[class*=enabled_disabled ]

如果div 只有enabled_disabled

div[class=enabled_disabled ]

如果div enabled_disabled不是disabled

div.enabled_disabled:not(.disabled)

鉴于您在问题中列出的HTML,最后两个中的任何一个都适合您.

更多关于来自MDN的属性选择器,以及更多关于:not()