javascript - Masalah dengan merangkak halaman web pemilih Jquery anak pertama
巴扎黑
巴扎黑 2017-05-16 13:28:41
0
1
507

Apabila merangkak tapak web,
Saya merasakan h2 dan h3 mempunyai struktur yang sama Mengapa h2:first-child boleh mendapatkan data, tetapi h3 tidak boleh.

Keputusan akhir h2_1 dan h2_2 adalah sama, tiada masalah.
h3_1 ok, h3_2 kosong, kenapa ni?

Kodnya adalah seperti berikut,

const jsdom = require('jsdom');

const jquery = require('jquery');

jsdom.env('https://www.osram.com/os/news-and-events/spotlights/index.jsp', [], {
    defaultEncoding: 'utf-8'
}, function(err, window) {
    if(err) {
        console.error('error get news url from page [%s]');
        return;
    }

    let $ = jquery(window);

    let el = $('p.col-xs-6.col-sm-7.colalign:first');


    let h2_1 = $(el).find('h2.font-headline-teaser').text();
    console.log('h2_1=' + h2_1);
    let h2_2 = $(el).find('h2.font-headline-teaser:first-child').text();
    console.log('h2_2=' + h2_2);

    let h3_1 = $(el).find('h3.font-sub-headline').text();
    console.log('h3_1=' + h3_1);

    let h3_2 = $(el).find('h3.font-sub-headline:first-child').text();
    console.log('h3_2=' + h3_2);



    window.close();


});
巴扎黑
巴扎黑

membalas semua(1)
为情所困

Pemilih xxx:anak pertama bermaksud apabila elemen anak pertama unsur induk xxx ialah xxx, untuk memilih xxx, kedua-dua syarat ini perlu dipenuhi pada masa yang sama.

bukan unsur anak pertama unsur induk xxx, dan bukan juga xxx pertama antara unsur anak unsur induk xxx

Elemen anak pertama bagi elemen induk

h2.font-headline-teaser ialah h2.font-headline-teaser, jadi ia boleh dipilih

Elemen anak pertama bagi elemen induk h3.font-sub-headline bukan h3.font-sub-headline, jadi ia kosong

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan