javascript - 有人可以帮我找到带有链接的 ng-contents 的定位器吗?

标签 javascript css angular automation protractor

我正在尝试单击我的应用程序中的标题,将我定向到另一个屏幕。但是,我发现定位器在这里没有帮助我。 以下代码也不起作用:

element(by.xpath("//a[@routerlink='/opportunities/list']")).click();

ChroPath 生成的 css 定位器也不起作用

element(by.xpath("//a[@routerlink='/opportunities/list']")).click();

enter image description here

最佳答案

你看过 Protractor 了吗documentation ?我们还建议不要使用 xpath因为它会使您的定位器变得脆弱并且难以调试。 xpath 有替代方法,如 linkText 或仅通过 css。在下面的两项中,我将使用您的测试应该使用的 async/await,因为控制流将被弃用。

选项 1

您的 html 包含链接文本,因此您想使用 webdriver.By.linkText

等待元素(by.linkText('opportunities')).click();

选项 2

可以使用css来匹配属性和标签:

等待元素(by.css('a[routerlink="/opportunities/list"])).click()

关于javascript - 有人可以帮我找到带有链接的 ng-contents 的定位器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54061364/

相关文章:

javascript - 在 Material ui usestyles 中使用同级组合器

javascript - 正则表达式 - 不包含字符串且不以/结尾

Css 不透明度和图像

javascript - 在 Firefox 中更平滑的滚动过渡?

html - 事件跟踪器显示 flex 的替代方案

angular - forkJoin() 未发出调用而其参与者正在发出罚款

javascript - 如何将第一个元素与其余元素进行比较,以及如何将第二个元素与其余元素进行比较以及相同的重复

javascript - ngRepeat 迭代 AngularJS 中的数组对象

javascript - Angular 2 自定义管道实现

javascript - 查找页面上的元素数量 (JQuery)