我在下面给出了代码,我需要点击过滤器图标。请帮帮我
我已尝试将代码用作
WebElement element1= driver.findElement(By.xpath("//*[@id=\"grdAutoLaborOps_active_cell\"]/a[1]/span"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element1);
<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>
&#13;
答案 0 :(得分:0)
您可以尝试直接点击<span>
元素或<th>
元素之前的<span>
类。
SPAN:
driver.findElement(By.cssSelector("span[class*='filter']")).click()
它基本上意味着&#34;查找<span>
元素属性class
CONTAINS filter
TH:
您的代码几乎是正确的。行//*[@id=\"grdAutoLaborOps_active_cell\"]
包含反斜杠,告诉java NOT解析"
。这导致跟随xpath @id=grdAutoLaborOps_active_cell
。你应该使用这样的单引号:
//*[@id='grdAutoLaborOps_active_cell']
或使用cssSelector
driver.findElement(By.id("grdAutoLaborOps_active_cell")).click();