python - 从 css 选择器中排除 div

标签 python html css 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()

最佳答案

评论后编辑:

我刚刚意识到您想要影响的内容不在内部 div , 但与 div 处于同一级别与类 .bbCodeBlock ,即 blockquote 的直接内容元素。

因此您需要使用两个选择器/规则,一个用于设置 blockquote 的颜色,其他排除那些 child div blockquote 的元素其中有 .bbCodeBlock类:

article blockquote {
  color: red;
}
article blockquote div:not(.bbCodeBlock) {
  color: initial;
}
<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>

关于python - 从 css 选择器中排除 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53127195/

相关文章:

python - 在 Python 列表中查找连续重复的字符串

Python split with multiple delimiters 不工作

jquery - 当标记拖出多边形时发出警报

Javascript 动态移动 IMG 元素

python - Django 检查是否在基于类的 View 中的 super 用户

javascript - jQuery 悬停功能不适用于 ng-repeat Angular 对象

.net - 输入键触发错误的提交按钮

jquery - 有没有办法根据显示的轮播元素更改文本?

css - HTML <div> 和 CSS 样式

python - PyPi 上缺失模块的总下载量