我无法生成正确的代码来选择我正在处理的 BI 仪表板上的特定过滤器。
我正在尝试单击 BI 仪表板上过滤器窗格上的铅笔图标,但我的代码组合不起作用。请,任何帮助将不胜感激。
<div class="ew-e-gx ew-i-mat f-act running" data-bi-click="XXXXXXAction($event, level, $index)" data-bi-show="!item.disabled && !item.locked" data-ng-class="{running: opened.edit == 'l'+$index}" data-translate="" data-translate-attr-title="we.actions.editfilter" title="Edit Filter"></di>
尝试使用xpath
波纹管:
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("(//*[@title='Edit Filter' and contains(@class,'ew-e-gx ew-i-mat f-act running')])[1]"))).click();
该元素是一个支持 JavaScript 的元素,因此您必须诱导WebDriverWaitelementToBeClickable()
,并且您可以使用以下任一定位器策略:
-
cssSelector
:new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("div[title='Edit Filter'][data-translate-attr-title$='editfilter']"))).click();
-
xpath
:new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@title='Edit Filter' and contains(@data-translate-attr-title, 'editfilter')]"))).click();