我有一个没有定义Id的元素。类名不允许我唯一地标识元素。
这就是为什么我想使用role
或header
属性找到它的原因:
<p-dialog header="Deleting" showeffect="fade" role="dialog"
class="ng-tns"> </p-dialog>
我应该如何在Protractor / Selenium Webdriver中做到这一点? 我可以通过xpath实现这一点,但据我所知,它建议avoid it at all。 我是否需要使用addLocator定义自己的定位器,还是有更简单的解决方案?
答案 0 :(得分:1)
量角器建议使用css选择器作为第一个选项,在某些情况下,当css选择器可以解决您的问题时,xpath作为辅助选项。
此类建议的主要原因考虑如下:
但是css选择器有两个缺点,xpath可以做到:
对于您的情况,您可以尝试以下定位器:
// css selector
p-dialog[header="Deleting"]
p-dialog[role="dialog"]
p-dialog[header="Deleting"][role="dialog"]