我想在课堂上找到Xpath' body'。 但问题是这两个类都在另一个表中。
<td colspan="2" valign="middle">
<a style="display: block;text-decoration:none;color:#000;" href="/Pages/Requests.aspx?type=C">
<table class="special">
<tr style="height: 48px;">
<td class="single_td_width" align="center">●
</td>
<td align="left" class="body" style="color: #000; text-align: left;">End date</td>
<td colspan="2" valign="middle">
<a style="display: block;text-decoration:none;color:#000;" href="/Pages/Requests.aspx?type=C">
<table class="special">
<tr style="height: 48px;">
<td class="single_td_width" align="center">●
</td>
<td align="left" class="classDate" style="color: #000; text-align: left;">Start date</td>
答案 0 :(得分:2)
我看到'td'有一个text()属性,所以如果另一个'td'具有相同的class属性主体有不同的text(),你很可能会这样:
"//td[@class = 'body' and text() = 'End date']"
如果你有多个具有相同属性的元素,你应该使用像'和'这样的条件或者使用轴来转到那个特定的元素。像兄弟姐妹一样,兄弟姐妹等。你可以看到这个网站,了解如何做Xpaths Axes http://www.w3schools.com/xsl/xpath_axes.asp
答案 1 :(得分:0)
为什么不使用JavaScript DOM getElementsByClassName呢?但是在XPath中它只是
//*[@class="Body"]
答案 2 :(得分:0)
这个XPath,
//td[@class='body']
将使用td
选择文档中的所有@class='body'
元素。
如果您有多个,您需要告诉我们它们的不同之处以及您希望选择的是哪一个。没有这个,我们只能说是
(//td[@class='body'])[1]
是第一个td
,和
(//td[@class='body'])[2]
是第二个td
。