从CSS选择器中排除div

时间:2018-11-03 00:06:41

标签: python html css css3 css-selectors

我试图仅选择不在div元素内的文本。在这种情况下,我想排除类为bbCodeBlock的div。我怎样才能做到这一点?这个想法是排除引用。

demo

<li id="post-6062713">
  <div class="uix_message ">
    <div class="messageInfo">
      <div class="messageContent">
        <article>
          <blockquote class="messageText SelectQuoteContainer">
            <div class="bbCodeBlock bbCodeQuote">
              <aside>
                <div class="attribution type">user said:
                  <a href="#" class="AttributionLink">↑</a>
                </div>
                <blockquote class="quoteContainer">
                  <div class="quote">text to ignore</div>
                </blockquote>
              </aside>
            </div>
            text to change color
            <br>
            <br>
            <br>
            <br>
            <div class="bbCodeBlock bbCodeQuote">
              <aside>
                <div class="attribution type">user said:
                  <a href="#" class="AttributionLink">↑</a>
                </div>
                <blockquote class="quoteContainer">
                  <div class="quote">text to ignore</div>
                </blockquote>
              </aside>
            </div>
            text to change color
            <div class="messageTextEndMarker">&nbsp;</div>
          </blockquote>
        </article>
      </div>
    </div>
  </div>
</li>

这是一个基本的演示,可以使用scrappy复制,因为我需要排除引号,因此我正在寻找一个单行选择器以应用于

'text': quote.css('article blockquote').extract()

1 个答案:

答案 0 :(得分:0)

评论后编辑:

我刚刚意识到,您想要受影响的内容不是 div内,而是与div类{{1} },即.bbCodeBlock元素的直接内容。

因此,您需要使用两个选择器/规则,一个为blockquote设置颜色,另一个选择为排除blockquote中具有{{1}的子元素div }类:

blockquote
.bbCodeBlock