【发布时间】:2018-10-22 08:13:41
【问题描述】:
我需要一个唯一的定位器,因为我不能使用文本,因为它都有功能,我需要点击这个
这是我现在的示例代码,但它没有点击
findLink(By.xpath("//*[ng-click()='promptGroupDrawerCtrl.closeDrawer()']")).click
【问题讨论】:
标签: java selenium selenium-webdriver xpath krypton
我需要一个唯一的定位器,因为我不能使用文本,因为它都有功能,我需要点击这个
这是我现在的示例代码,但它没有点击
findLink(By.xpath("//*[ng-click()='promptGroupDrawerCtrl.closeDrawer()']")).click
【问题讨论】:
标签: java selenium selenium-webdriver xpath krypton
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 元素,因此您必须诱导 WebDriverWait 以使所需的元素可点击
【讨论】: