【发布时间】:2021-05-08 18:03:39
【问题描述】:
要抓取的网站 https://idaman.kpkt.gov.my/idv5xe/98_eHome/maklumatProjek.cfm?pmju_kod=8898&proj_kod_Fasa=1
要抓取的粗体项目 - 第 1 部分(以下 HTML)
<form onsubmit="return lucee_form_c9u.check();" name="myForm" enctype="multipart/form-data" action="mPPTProjek3.cfm?mn=BPPT" method="post">
<div align="center" style="background-color: white; border: 1px solid grey;">
<br />
<table class="MainContent" width="100%" align="center">
<tbody>
<tr style="font-weight: bold;">
<td class="column" width="30%">Nama Pemaju</td>
<td>
:
<a style="color: blue;" href="maklumatPemaju.cfm?pmju_Kod=8877">**RAPID UNITY SDN. BHD.**</a>
<font color="red">* Klik Untuk Melihat Maklumat</font>
</td>
</tr>
<tr>
<td class="column">Kod Pemaju</td>
<td>: **8877<**/td></td>
</tr>
<tr>
<td class="column">Kod Fasa</td>
<td>: **1<**/td></td>
</tr>
<tr>
<td class="column">Nama Pemajuan</td>
<td>: **TAMAN UNITY**</td>
</tr>
</tbody>
</table>
</div>
</form>
用粗体字刮擦的项目 - 第 2 部分
此代码需要 selenium 驱动程序才能点击链接
<tr align="center" onclick="change3('15536',this)" style="cursor:pointer" bgcolor="DAEEF3" onmouseover="this.bgColor='#FF9900'" onmouseout="this.bgColor='DAEEF3'">
那么只有“name:myForm”后面的95%才会出现`
<tr align="center" onclick="change3('15536',this)" style="cursor:pointer" bgcolor="DAEEF3" onmouseover="this.bgColor='#FF9900'" onmouseout="this.bgColor='DAEEF3'">
那么 95% 将更改为其他金额
(以下 HTML)
<fieldset title="Maklumat Pemajuan Projek" style="border: 1px solid grey; font-weight: bold; color: black;">
<legend>Maklumat Pemajuan Projek</legend>
<table class="MainContent" width="100%" align="center">
<thead>
<tr class="column">
<th>Bil</th>
<th>Bil Unit</th>
<th>
Jenis<br />
Rumah
</th>
<th>
Kategori<br />
Rumah
</th>
<th>Tingkat</th>
<th>
Harga<br />
Min (RM)
</th>
<th>
Harga<br />
Max (RM)
</th>
</tr>
</thead>
<tbody>
<tr align="center" onclick="change2('15535',this)" style="cursor: pointer;" bgcolor="white" onmouseover="this.bgColor='#FF9900'" onmouseout="this.bgColor='white'">
<td>**1**</td>
<td>**2**</td>
<td align="left">
**RUMAH BERKEMBAR**
</td>
<td>
**HARGA TINGGI**
</td>
<td>**1**</td>
<td align="right">**370,000.00**</td>
<td align="right">**394,900.00**</td>
</tr>
<tr align="center" onclick="change3('15536',this)" style="cursor: pointer;" bgcolor="DAEEF3" onmouseover="this.bgColor='#FF9900'" onmouseout="this.bgColor='DAEEF3'">
<td>**2**</td>
<td>**18**</td>
<td align="left">
**RUMAH TERES**
</td>
<td>
**HARGA TINGGI**
</td>
<td>**1**</td>
<td align="right">**190,000.00**</td>
<td align="right">**290,550.00**</td>
</tr>
</tbody>
</table>
<br />
<input name="rekid3" id="rekid3" type="hidden" value="15535" />
<div id="pemajuan">
<script language="JavaScript" type="text/javascript" src="/lucee/formtag-form.cfm"></script>
<script language="JavaScript" type="text/javascript">
function _CF_checkmyForm() {
return lucee_form_czz.check();
}
</script>
<table class="MainContent" width="100%" align="center">
<tbody>
<tr>
<td class="column" width="30%">Jenis Rumah</td>
<td>: RUMAH BERKEMBAR</td>
</tr>
<tr>
<td class="column">Kategori Rumah</td>
<td>: HARGA TINGGI</td>
</tr>
<tr>
<td class="column">Bil Tingkat</td>
<td>: 1</td>
</tr>
<tr>
<td class="column">Bil Unit</td>
<td>: 2</td>
</tr>
<tr>
<td class="column">Harga Minimum</td>
<td>: 370,000.00</td>
</tr>
<tr>
<td class="column">Harga Maximum</td>
<td>: 394,900.00</td>
</tr>
<tr>
<td class="column">Peratusan Pemajuan</td>
<td>: **95%**</td>
</tr>
</tbody>
</table>
<!-- name:myForm -->
<script>
lucee_form_czz = new LuceeForms("myForm", null);
</script>
</div>
</fieldset>
下面是代码,相信我,几周后我能写的就是……请帮助我,因为我不知道该怎么做
- 然后刮掉第 1 部分
- 然后点击第 2 部分中的第一个链接
- 然后刮掉第 2 部分
- 然后点击第 2 部分中的第二个链接
- 刮掉第 2 部分并追加。
from selenium import webdriver
from selenium.webdriver.common.by import By
url = "https://idaman.kpkt.gov.my/idv5xe/98_eHome/maklumatProjek.cfm?pmju_kod=8898&proj_kod_Fasa=1"
driver = webdriver.Chrome(executable_path='/Users/freddielee/Downloads/chromedriver')
driver.find_element(By.NAME="need help here")
【问题讨论】:
-
你不能做什么?抓取部分还是点击?
-
你到底卡在了哪一步?
-
抓取部分我找不到元素点击也找不到要点击的元素
标签: python selenium selenium-webdriver beautifulsoup