我有一个包含一些列和行的 HTML 表格。我正在尝试查找第 5 列的文本和第 3 列的文本。 我想从第 5 列找到的文本是 101 THE BatCave|GOTHAM CITY|和第 3 列的文本 14
首先,我首先使用以下 XAPTH 从第 3 列中找到文本 14:
//table[@id="reporting_view_report_dg_main_body"]//tr//td[3]/div/span[@title="14"]
但我也不知道如何从第 5 列中获取文本。 我试过:
//table[@id="reporting_view_report_dg_main_body"]//tr//td[3]/div/span[@title="14"] and td[5]//span[contains(text(), "101 THE BatCave|GOTHAM CITY|"])
//table[@id="reporting_view_report_dg_main_body"]//tr//td[3]/div/span[@title="14"]/following::td[5]
HTML 片段是:
<table id="reporting_view_report_dg_main_body" cellspacing="0" style="table-layout: fixed; width: 100%; margin-bottom: 17px;">
<colgroup>
<tbody>
<tr class="GFNQNVHJM" __gwt_subrow="0" __gwt_row="0" />
<tr class="GFNQNVHIN" __gwt_subrow="0" __gwt_row="1"/>
<tr class="GFNQNVHJM" __gwt_subrow="0" __gwt_row="2"/>
<tr class="GFNQNVHJM GFNQNVHAN" __gwt_subrow="0" __gwt_row="12"/>
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHLM GFNQNVHBN"/>
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHBN"/>
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHBN"/>
<div __gwt_cell="cell-gwt-uid-319" style="outline-style:none;"/>
<span title="14" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;empty-cells:show;display:block;padding-right: 1px;">14</span>
</div>
</td>
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHBN">
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHBN">
<div __gwt_cell="cell-gwt-uid-321" style="outline-style:none;">
<span title="101 BatCave|GOTHAM CITY|" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;empty-cells:show;display:block;padding-right: 1px;">101 THE BatCave|GOTHAM CITY|</span>
</div>
</td>
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHBN">
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHBN"/>
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHBN"/>
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHBN"/>
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHBN"/>
<td class="GFNQNVHIM GFNQNVHKM GFNQNVHFN GFNQNVHBN"/>
</tr>
<tr class="GFNQNVHIN" __gwt_subrow="0" __gwt_row="13"/>
<tr class="GFNQNVHJM" __gwt_subrow="0" __gwt_row="14"/>
</tbody>
谢谢,里亚兹
最佳答案
不确定这种方法在您的特定情况下的可靠性,但鉴于所提供的内容,您可以通过获取具有 title
属性的 span
元素来获取这两个元素:
elements = driver.find_elements_by_xpath("//table[@id='reporting_view_report_dg_main_body']//span[@title]")
for element in elements:
print(element.text)
关于python-2.7 - Selenium XPATH 我如何从表第 4 列中的文本在表第 2 列中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38978561/