javascript - 是否可以在 Protractor 中单击绝对定位的伪元素

标签 javascript css angularjs protractor

我有一个 ng-click 元素,它没有高度和宽度,但仍然可以使用 UI 单击,因为它内部有一个绝对定位的 :before 元素(一个图标)。如果我尝试单击 Protractor 中的元素,它会说该元素不可见,因为它没有高度或宽度。我也找不到任何方法在 Protractor 中选择伪元素。使用 browser.actions 也不容易,因为 psuedo 元素位于其父元素之外。

最佳答案

您的观察是正确的。如果元素不可见,Protractor/selenium/WebDriverJs click() 将不起作用。这意味着如果这两个都是 false - height>0 width>0click() 不起作用。这里的替代方法是执行 javascript click()

这里有一篇很棒的帖子 - Clicking an element using javascript vs actions vs webdriver?

你可以做这样的事情

var elm = element(by.css("#myid"));
browser.executeScript("arguments[0].click();", elm);

关于javascript - 是否可以在 Protractor 中单击绝对定位的伪元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42013085/

相关文章:

angularjs - Angular Js 解决方法的问题

javascript - Angular 用户界面路由器状态问题

html - 带有图像的嵌套 flexbox 有额外的高度

javascript - 在angularjs中显示Blob图像

javascript - 就我而言,如何在运行时加载 JS 文件?

javascript - 如何将 firebase 的数据与 angularJS 范围绑定(bind)

javascript - 打印二叉树递归函数

javascript - 无法对 Kendo Grid 中的筛选列表进行排序

javascript - 禁用小写字符的下划线 : g q p j y?

css - 使用 CSS 覆盖现有的(未标记的)表格样式?