一尘不染

第n个类型的CSS选择器

selenium

以下是我的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("td[id='platinum']:nth-of-type(3)"));

两者对于如何选择第三个td都不起作用 id='platinum'


阅读 564

收藏
2020-06-26

共1个答案

一尘不染

有一个td没有ID 的空值,这会干扰:nth-of- type()计数。选择器的意思是“第n个td元素”,而不是“第n个td元素id='platinum'”。因此,td具有该ID
的第三个实际上td是整个行中的第四个。

td使用CSS选择器无法选择具有特定ID 的第三个元素。您应该改用XPath:

driver.findElement(By.xpath("//td[@id='Platinum'][3]"));
2020-06-26