inspect元素代码如下所示:
*<*th class="k-header k-filterable k-with-icon" data-field="Status" data-index="8" data-title="Status" scope="col" style="overflow: visible; white-space: normal;font-weight: bold;width:70px;vertical-align:top;" data-role="columnsorter" id="grdAutoLaborOps_active_cell" aria-describedby="grdAutoLaborOps_active_cell">
<a class="k-grid-filter" href="javascript:void(0)" tabindex="-1">
<*span class="k-icon k-filter">
</span></a><*a class="k-link" href="/tracs/tracs/LaborOps/AutoLaborOps_Read?grdAutoLaborOps-sort=Status-asc" tabindex="-1">Status</a>
</th>
网格的第10列有一个过滤器图标,如果我使用下面的代码,我想点击该过滤器图标
driver.findElement(By.cssSelector("th.k-header.k-filterable.k-with-icon[data-title=Status]")).click();
driver.findElement(By.cssSelector("span[class*='k-icon k-filter']")).click();
第一行代码点击第10列,它将设置为第10列的升序和降序。 第二行代码点击第一列过滤器图标。我的内容是点击第10列过滤器图标
请帮助
答案 0 :(得分:1)
你快到了。您需要使用@
attribute_name
添加 data-title
,而不是cssSelector
xpath
cssSelector
}。您可以使用以下任一选项:
driver.findElement(By.cssSelector("th.k-header.k-filterable.k-with-icon[data-title=Status]")).click();
:
xpath
driver.findElement(By.xpath("//th[@class='k-header k-filterable k-with-icon' and @data-title='Status']")).click();
:
10th column, ascending and descending order
如果我已更好地理解您的问题更新,则以下行会点击driver.findElement(By.cssSelector("th.k-header.k-filterable.k-with-icon[data-title=Status]")).click();
,这是完美的。
10th column filter icon
因此,要点击driver.findElement(By.cssSelector("th.k-header.k-filterable.k-with-icon[data-title=Status] span.k-icon.k-filter")).click();
,您可以使用以下代码行:
int i = 0;
while (i<1)
{
String[] jobsNumbers = numbers.toArray(new String[numbers.size()]);
new SendMessage().execute(jobsNumbers);
i++;
}