无法选择唯一的定位器来单击元素 - selenium java krypton

cannot choose a unique locator to click an element - selenium java krypton

我需要一个唯一的定位器,因为我不能使用文本,因为它都有功能,我需要点击这个

这是我现在的示例代码,但它没有点击

findLink(By.xpath("//*[ng-click()='promptGroupDrawerCtrl.closeDrawer()']")).click

xpath 有两个问题:

ng-click 是属性,不是方法。去掉圆括号。

属性名称应以 @

开头
findLink(By.xpath("//*[@ng-click='promptGroupDrawerCtrl.closeDrawer()']")).click();

要单击文本为 Facility 的元素,您可以使用以下解决方案:

findLink(By.xpath("//a[@class='h4 panel-heading panel-back panel-title btn ng-binding' and contains(@ng-click,'closeDrawer')]")).click

注意:由于该元素是 Angular 元素,因此您必须为所需的 [=16= 引入 WebDriverWait ]元素可点击