以下是我的HTML页面的摘要:
<td id="Platinum" align="center" width="16%"> <div></div> <a>link1</a> </td> <td></td> <td id="Platinum" align="center" width="16%"> <div></div> <a>link2</a> </td> <td id="Platinum" align="center" width="16%"> <div></div> <a>link3</a> </td>
在这里我想选择id =’platinum’的第三个td元素
我试过的是driver.findElement(By.cssSelector("#platinum:nth-of-type(3)"));。
driver.findElement(By.cssSelector("#platinum:nth-of-type(3)"));
和
driver.findElement(By.cssSelector("td[id='platinum']:nth-of-type(3)"));
两者对于如何选择第三个td都不起作用 id='platinum'
id='platinum'
有一个td没有ID 的空值,这会干扰:nth-of- type()计数。选择器的意思是“第n个td元素”,而不是“第n个td元素id='platinum'”。因此,td具有该ID 的第三个实际上td是整个行中的第四个。
td
:nth-of- type()
td使用CSS选择器无法选择具有特定ID 的第三个元素。您应该改用XPath:
driver.findElement(By.xpath("//td[@id='Platinum'][3]"));