Как извлечь текст 8 из 2-й строки и 2-го столбца в соответствии с HTML через Selenium и VBA - PullRequest
0 голосов
/ 17 сентября 2018

Используя selenium vba, я хочу, чтобы значение 2-й строки и 2-го столбца в таблице веб-страниц ниже представляло собой код, который я пробовал, но он захватывает всю таблицу.

Вывод, который я хочу, составляет 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 голосов
/ 17 сентября 2018

Вы можете использовать более быстрый CSS-селектор, чем при использовании xPath, если вы работаете с более поздним IE или другими браузерами, кроме IE

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

enter image description here

0 голосов
/ 17 сентября 2018

В соответствии с предоставленным вами HTML-кодом для извлечения текста 8 вы можете использовать следующее решение:

driver.FindElementByXPath("//table[@class='zedoLocTable']//tr/td/b[contains(.,'Resedential Sale')]//following::td[1]").text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...