Javascript 如何使用量角器通过CSS代码单击元素?

Javascript 如何使用量角器通过CSS代码单击元素?,javascript,selenium,protractor,Javascript,Selenium,Protractor,我一直试图使用CSS选择器单击元素,但不起作用: <button _ngcontent-c16="" class="btn btn-flat btn-no-text btn-kebab-view"> <i _ngcontent-c16="" class="zmdi zmdi-more-vert"></i> </button> 量角器给我错误: 失败:索引超出范围。正在尝试访问索引为0的元素,但 只有0个元素与定位器(css选择器

我一直试图使用CSS选择器单击元素,但不起作用:

<button _ngcontent-c16="" class="btn btn-flat btn-no-text btn-kebab-view">
         <i _ngcontent-c16="" class="zmdi zmdi-more-vert"></i>
</button>
量角器给我错误:

失败:索引超出范围。正在尝试访问索引为0的元素,但 只有0个元素与定位器(css选择器,.btn)匹配 .btn平面.btn无文本.btn烤肉串视图)


您应该使用以下CSS选择器:
.btn.btn flat.btn no text.btn kebab view

尝试使用XPath:

对于按钮:

//button[@class='btn btn-flat btn-no-text btn-kebab-view']
或者对于i标签:

//i[@class='zmdi zmdi-more-vert']

只需使用类名定位器:

by.className('btn btn-flat btn-no-text btn-kebab-view')
也可以使用XPath:

//*[@class='btn btn-flat btn-no-text btn-kebab-view']

尝试
元素。$(“按钮[\u ngcontent-c16=''”)。单击()有时,当页面具有动态html或量角器导航逻辑“太快”或“太慢”时,您可能试图在元素实际存在于页面之前或之后查找该元素。如果我的答案适用于您,请选中我答案附近的勾号。谢谢。
//*[@class='btn btn-flat btn-no-text btn-kebab-view']