如何使用不同的搜索(cssSelector / tag / ClassName)创建元素的Xpath

时间:2019-02-13 13:21:53

标签: java selenium selenium-webdriver xpath selenium-chromedriver

我想使用一个不同的cssSelector / tag / ClassName查找一个元素,并获取它们的xpath值(更具体地说,我有一个网站,当一天改变时,其中一个类改变了它的类)在这里我的意思是什么:

<tr>
<td> 1.1.2019 </td>
<td> 2.1.2019 </td>
<td class="active"> 3.1.2019 </td>
<td> 4.1.2019 </td>
</tr>
<tr>
<td> </td>
<td> 10 </td>
<td> </td> #Here
<td> </td>
</tr>

我要根据“活动类别”在哪里,单击其下的表格。纽约市的想法如何做到这一点?

我想要的简短版本:

  

使用cssSelector查找元素

     

获取此元素的Xpath <-问题

     

使用已编辑的xpath单击它

我想获取XPATH OF LOCATED ELEMENT,而不是使用Xpath定位

1 个答案:

答案 0 :(得分:1)

您可以通过在第一行中找到所有<td>元素来查找索引,并检查其中是否有索引

List<WebElement> columns = driver.findElements(By.xpath("//tr[td[@class='active']]/td")); # just an example, can be any other locator
int index = 0;
for (int i = 0 ; i < columns.getSize() ; i++) {
    String attribute = columns.get(i).getAttribute("class")
    if (attribute != null && attribute.equals("active")) {
        index = i + 1;
    }
}