如何通过Selenium和VBA根据html从第二行和第二列提取文本8

时间:2018-09-17 09:09:22

标签: vba selenium xpath web-scraping webdriver

使用硒vba,我想要下面网页表中的第二行和第二列值是我尝试过的代码,但它捕获了所有表。

我想要的输出是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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

如果要使用更高版本的IE或除IE之外的其他浏览器,则可以使用比xPath更快的CSS选择器

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

enter image description here