セレン(5):CSSセレクタ(B)

1. CSSセレクタ

1.1選択構文を組み合わせて使用​​します

別の電源嘘のCSSセレクタ:選択構文は、組み合わせて使用​​することができます。

htmlコード:

< div要素のid = '下の' > 
    < divのクラス= 'footer1' > 
        < スパンクラス= '著作権' >版权</ スパン> 
        < スパンクラス= '日付' >发布日期:2019年11月26日</ スパン> 
    < / DIV > 
    < DIV クラス= 'footer2' > 
        < スパン> 主页
         < A HREF = "https://www.cnblogs.com/liuhui0308/" >愛の小さな灰色のプログラムされた</ A >
        </ スパン> 
    </ DIV >         
</ DIV > 

例えば、我々は、Webページ内の要素を選択するHTML

< スパンクラス= '著作権' >版权</ スパン>

CSSセレクタ式を書くことができます。

div.footer1> span.copyright

スパンノードは、著作権のclass属性の値を選択することであり、これは、クラス属性値footer1 divのノードの子ノードでなければなりません。

また、よりシンプルなもの:

.footer1> .copyright

著作権のclass属性値のノード(任意のタイプ)を選択し、そのfooter1のノードクラスの属性値の子でなければなりません。

もちろん、これも可能です。

.footer1 .copyright

また、サブ要素子孫要素からです。

1.2グループの選択

私たちは工場のすべてのクラスを選択したい場合は、クラスの動物の要素です。方法は?

この場合、CSSセレクタは、このようなグループセレクタと呼ばれるコンマを使用してもよいです。

.raise、.wolf

別の例として、我々はdiv要素とidのBYHYと呼ばれるすべてのタグを選択したい、あなたは次のように書くことができます

DIV、#BYHY

次のようにセレン対応するコードです。

要素= wd.find_elements_by_css_selector(' DIV#BYHY ' のための要素要素:
     印刷(element.text)

私たちは例を見て:

htmlコード:

< 本部ID = 'T1' > 
    < H3 ></ H3 > 
    < スパン></ スパン> 
    < P > Jingyesi </ P > 
    < スパン>フー</ スパン> 
    < P >スプリングナイトレイン</ P >     
</ DIV >       

        
< DIV ID = 'T2' > 
    < H3 ></ H3 > 
    < スパン></ スパン> 
    < P > Beiguパビリオンノスタルジア</ P > 
</ DIV >

すべての我々は、唐の作者とスパン内のt1とのp要素を選択するすべてのIDです詩のタイトルを選択する必要があります。

我々はそれを書くべきですか?

T1>スパン、P

これは仕事、書き込み手段の選択スパンとすべてのp要素内のすべてのid t1はありません。

あなただけ書くことができます。

T1>スパン、#T1> P

順に1.3は、子ノードを選択します

htmlコード:

< 本部ID = 'T1' > 
    < H3 ></ H3 > 
    < スパン></ スパン> 
    < P > Jingyesi </ P > 
    < スパン>フー</ スパン> 
    < P >スプリングナイトレイン</ P >               
</ DIV >       
        
< DIV ID = 'T2' > 
    < H3 ></ H3 > 
    < スパン>寿司</ スパン> 
    < p型>三国志</ p型> 
    < p型>比較研究</ p型> 
    < p型>江Chengzai YiMao心の中で夢の夜に最初の月</ p型> 
    < p型> Dielianhuaチョム</ p型> 
    < スパン> JI </ スパン> 
    < p型>固体Jingkou北パビリオンノスタルジア</ p型> 
    < p型>清元ランタンフェスティバル・</ p型> 
    <P >・Xijiangyue夜間砂道</ P > 
</ DIV >

親ノードのN番目の要素1.3.1

私たちは、n番目の子を使用して、要素が親要素のいくつかの子ノードの最初で指定するかを選択することができます。

例えば:

私たちは、第一著者の唐や宋を選択する必要があります、

その選択は、第2のサブ要素、およびスパンタイプであります

だから、これは書くことができます。

スパン:n番目の子(2)

あなたはノード型の制限を追加しない場合、直接書き込み:

:n番目の子(2)

すべては、すべての要素の最初の2のためにどのような種類に関係なく場所を選択することです。

親ノードのn番目の要素の逆数1.3.2

選択した親要素がn番目の最後-子を使用して、n番目のノードの逆数である、逆にしてもよいです。

例えば:

P:n番目の-最後の子(1)

最初の選択肢は、最初のサブ要素の逆数であり、そしてp要素です。

親要素の子ノードのいくつかのタイプ1.3.3

私たちは、n番目の-の型を使用して、特定の要素が親要素の子ノードのいくつかの種類があります指定するかを選択することができます。

例えば:

第2のサブ要素を選択し、スパンタイプです:私たちは、あなたが上記のように考えることができ、最初の著者唐や宋を選択する必要があります。

あなたが書くことができるように:

スパン:n番目の子(2)

このような考え方は、サブ要素の第一のタイプのスパンを選択することができます。

だから、書くことができます。

スパン第nの型(1)

子ノードの数タイプの親要素の逆数1.3.4

もちろん、それは、第n-最後の型を使用して、サブノードの種類の数の逆数の親要素を選択し、反転されます。

例えば:

P:第n-最後の式(2)

ノードノードの1.3.5奇数と偶数

n番目の子を(も)使用して、親要素のノードの偶数を選択します。

例えば:

P:n番目の子(さえ)

親ノードを選択するには、n番目の子を使用して、要素の奇数(ODD)

P:n番目の子(奇数)

第nの型を(も)使用して、ノードの偶数の親要素のタイプを選択します。

第nの型(奇数)を用いて、奇数ノードの親要素のタイプを選択します。

1.4兄弟の選択

1.4.1隣接兄弟ノードの選択

そこに上記の例では、我々は最初の著者の唐や宋を選択する必要があります

考え方もあり、それは兄弟のスパンが続くバックH3を選択することです。

これは、H3 +スパンを書くことができ、兄弟の隣の一種です。

それは関係を保つための要素がプラスで表しています。

1.4.2以降のすべての兄弟の選択

あなたはH3スパンの背後にある兄弟のすべてを選択することを選択した場合、あなたは〜スパンをh3を書くことができます。

おすすめ

転載: www.cnblogs.com/liuhui0308/p/11934353.html