【发布时间】:2017-08-08 08:42:18
【问题描述】:
我已经编写了一个 xpath 来从 th 标签中找到一个名称,但问题是在一个“th”标签内附加了三个项目,由“br”标签分隔。如何仅找到第一个项目,在这种情况下是三个项目中的名称?这是我尝试过的:
//td[@class='data']/table//th
项目中的元素是:
<td class="data" valign="top" nowrap="">
<table width="350">
<tbody><tr>
<td valign="top" nowrap="">Owner Name &<br>Mailing Address:</td>
<th align="left" valign="top" nowrap="">
<!-- ---------- OWNER NAME ---------- -->
PADILLA ISAI & JOSEFINA<br>
<!-- ---------- MAILING ADDRESS ---------- -->
<!-- ---------- MAILING ADDRESS (MAIL TO) ---------- -->
<!-- ---------- MAILING ADDRESS (ADDR1 AND ADDR2) ---------- -->
8227 FINDLAY ST<br>
<!--
------------------------------------------------
'RA 09/11/2012:
Changed order of Owner / Address to :
Owner Name(s)
MailTo
Addr_1
Addr_2
City
State
Zip
Country
------------------------------------------------
8227 FINDLAY ST
------------------------------------------------
-->
<!-- ---------- MAILING ADDRESS (CITY-STATE-ZIP OR COUNTRY)---------- -->
HOUSTON TX 77017-2328<br>
<!--<br />-->
</th>
</tr>
</tbody></table>
</td>
用我的表达我得到的结果是:
DURAN FRANCISCO & AURORA
4010 BALMORHEA AVE
HOUSTON TX 77039-2510
但我希望得到的只是:
DURAN FRANCISCO & AURORA
一般情况下我可能会选择:
//td[@class='data']/table//th/text()[1]
但是,selenium 也不支持文本索引。我该怎么做才能仅从 th 标签中获取名称?
【问题讨论】:
-
你能试试这个吗..-->//td[@class='data']/table//th[1]
-
IMO,在准备样本
HTML时,DOM格式被破坏了。我可以看到td和br标签相互重叠。<td valign="top" nowrap="">Owner Name &amp;<br>Mailing Address:</td> <th align="left" valign="top" nowrap=""> <!-- ---------- OWNER NAME ---------- --> PADILLA ISAI &amp; JOSEFINA<br>我错过了什么吗? -
我试着让它看起来有点好看。会更新它原来的样子。
标签: selenium xpath selenium-webdriver