刮纸问题:打印时数据不显示

2024-06-01 23:40:10 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试着清理这个网站:https://top-1000-sekolah.ltmpt.ac.id/site/page?id=2001 如果检查元素,则有一个id为tab-1、tab-2、tab-3、tab-4的div。所以我试着刮取每个id,但不知怎么的,只抓取了tab-1数据。那么我做错了什么

pk = driver.find_element_by_xpath("(//div[@id='tab-1'])")
pbm = driver.find_element_by_id('tab-2')
pu = driver.find_element_by_id('tab-3')
ppu = driver.find_element_by_id('tab-4')

我期望表2的输出为:

Kemampuan Kuantitatif
2
Urut Nasional
1
Urut Provinsi
Rerata
640,253
Nilai Tertinggi
721,15
Nilai Terendah
511,14
Standar Deviasi
44,1

当前表2的输出为空(“”)


Tags: httpsdividby网站topdriverelement
1条回答
网友
1楼 · 发布于 2024-06-01 23:40:10

尝试这样做:

pbm = driver.find_element_by_id('tab-2')
print(pbm.text)

如果这不起作用,我怀疑这是因为id为tab-2的div类有很多子元素。您需要直接选择这些单独的子元素来获取所需的数据。使用上面使用的XPATH方法

<div class="row">
    <div class="col-lg-12 details order-2 order-lg-1">
        <h3 align="center">
            Kemampuan Memahami Bacaan dan Menulis
        </h3>
        <hr>
        <div class="row">
            <div class="col-lg-6 col-md-6">
                <div class="count-box">
                    <i class="icofont-award"></i>
                    <span data-toggle="counter-up">5</span>
                    <p>Urut Nasional</p>
                </div>
            </div>
            <div class="col-lg-6 col-md-6">
                <div class="count-box">
                    <i class="icofont-award"></i>
                    <span data-toggle="counter-up">1</span>
                    <p>Urut Provinsi</p>
                </div>
            </div>

        </div>
        <hr>
        <div class="row">
            <div class="col-sm-3">
                <div class="card bg-light mb-3" style="max-width: 18rem;">
                    <div class="card-header" align="center">Rerata</div>
                    <div class="card-body">
                        <h3 class="card-title" align="center"><b>589,104</b></h3>
                    </div>
                </div>
            </div>
            <div class="col-sm-3">
                <div class="card bg-light mb-3" style="max-width: 18rem;">
                    <div class="card-header" align="center">Nilai Tertinggi</div>
                    <div class="card-body">
                        <h3 class="card-title" align="center"><b>709,61</b></h3>
                    </div>
                </div>
            </div>
            <div class="col-sm-3">
                <div class="card bg-light mb-3" style="max-width: 18rem;">
                    <div class="card-header" align="center">Nilai Terendah</div>
                    <div class="card-body">
                        <h3 class="card-title" align="center"><b>371,88</b></h3>
                    </div>
                </div>
            </div>
            <div class="col-sm-3">
                <div class="card bg-light mb-3" style="max-width: 18rem;">
                    <div class="card-header" align="center">Standar Deviasi</div>
                    <div class="card-body">
                        <h3 class="card-title" align="center"><b>65,96</b></h3>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

例如,要解析名称Kemampuan Kuantitatif

name = driver.find_element_by_xpath('//*[@id="tab-2"]/div/div/h3')
print(name)

相关问题 更多 >