我有一个ng-click
元素,它没有宽度高度,但仍然可以使用UI进行点击,因为它内部有一个绝对定位的:before
元素(图标)。如果我尝试点击量角器中的元素,它表示元素不可见,因为它没有高度或宽度。我无法找到在Protractor中选择伪元素的任何方法。使用browser.actions
并不容易,因为伪元素在其父元素之外。
答案 0 :(得分:0)
你的观察是正确的。如果元素不可见,则Protractor/selenium/WebDriverJs click()
不起作用。这意味着如果这两个都是假的 - height>0
width>0
那么click()
就不起作用了。这里的替代方法是执行javascript click()
这里有相同的帖子 - Clicking an element using javascript vs actions vs webdriver?
你可以做这样的事情
var elm = element(by.css("#myid"));
browser.executeScript("arguments[0].click();", elm);