如何通过Selenium和VBA从html中提取第2行和第2列的文本8

问题描述 投票:1回答:2

使用selenium v​​ba我想从下面的网页表中获取第二行和第二列值是我尝试的代码,但它捕获了所有表。

我想要的输出是8。

driver.FindElementByXPath("//table[contains(@class,'zedoLocTable')]").text

请找到下面的HTML代码。

<tr>
<td colspan="4">
<div id="localityTiers">
<br><br>
<table class="zedoLocTable" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<th>TYPE</th>
<th>TIER</th></tr>
<tr>
<td><b>Resedential Sale</b>
</td><td>8</td>
</tr>
<tr><td><b>Resedential Rent</b>
</td><td>5</td>
</tr><tr>
<td><b>Commercial Sale</b>
</td><td>1</td>
</tr><tr>
<td><b>Commercial Lease</b>
</td><td>1</td>
</tr></tbody></table><table></table></div>
</td>
</tr>

下面是表格图片

enter image description here

vba selenium xpath web-scraping webdriver
2个回答
2
投票

根据您共享的HTML来提取文本8,您可以使用以下解决方案:

driver.FindElementByXPath("//table[@class='zedoLocTable']//tr/td/b[contains(.,'Resedential Sale')]//following::td[1]").text

0
投票

如果您正在使用IE以后的IE或其他浏览器,则可以使用比使用xPath更快的CSS选择器

Debug.Print driver.FindElementByCSS(".zedoLocTable td + td").innerText

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.