[feature-request] `:not()` to support generic selectors (not only "simple" ones)
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
cssselect.parse('a:not(p>a)') で失敗を再現してください。トレースバックに現れる parse、parse_selector_group、parse_simple_selector から、cssselect/parser.py の調査を始めてください。要求された汎用セレクター形式が、示されている構文エラーなしで :not() に受け入れられれば完了です。
索引モデルが issue の本文から書いたものです。
説明
The document (version 0.9.1) says:
:not()accepts a sequence of simple selectors, not just single simple selector. For example,:not(a.important[rel])is allowed, even though the negation contains 3 simple selectors.
May I ask what is a simple selector? Can :not() support something like :not(a>b)?
>>> import cssselect
>>> cssselect.parse('a:not(p>a)')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.4/site-packages/cssselect/parser.py", line 355, in parse
return list(parse_selector_group(stream))
File "/usr/lib/python3.4/site-packages/cssselect/parser.py", line 370, in parse_selector_group
yield Selector(*parse_selector(stream))
File "/usr/lib/python3.4/site-packages/cssselect/parser.py", line 378, in parse_selector
result, pseudo_element = parse_simple_selector(stream)
File "/usr/lib/python3.4/site-packages/cssselect/parser.py", line 471, in parse_simple_selector
raise SelectorSyntaxError("Expected ')', got %s" % (next,))
cssselect.parser.SelectorSyntaxError: Expected ')', got <DELIM '>' at 7>
- 主要言語
- Python
- スター
- 312
- フォーク
- 72
- 平均マージ
- 2日 24分
- マージ済み PR(30日)
- 11
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
scrapy/cssselect のほかの issue
-
Add comprehensive developer docs対応中かも @AdrianAtZyte が 57 日前に担当しました。 オープンdocumentation enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 42/100
メンテナーはふだん 1 日以内に返信
-
The parsing of :where and :is is not spec compliant対応中かも @AdrianAtZyte が 71 日前に担当しました。 オープンCSS Selectors Level 4 enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
scrapy/cssselect#135 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Support :nth-child(An+B of S)対応中かも @annbgn が 1921 日前に担当しました。 オープンCSS Selectors Level 4
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
scrapy/cssselect#76 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
scrapy/cssselect の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ok-oldking/ok-wuthering-waves#1785 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
healthchecks/healthchecks#1349 ·
-
deployment release-lag
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
nolte/kamerplanter#2374 ·
メンテナーはふだん 1 日以内に返信
-
bug v1 v2
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
modelcontextprotocol/python-sdk#3725 ·
メンテナーはふだん 1 日以内に返信
-
batchterms() drops queries without a similar() clause, misaligning results with inputs対応中かも @MohammadHijjawi97 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信