元素当前不可见,因此单击按钮时可能无法与之交互
Element is not currently visible and so may not be interacted with when clicking a button
我的Protator代码是
element(by.dataHook("delete-button")).click();
获取:
元素当前不可见,因此可能无法与交互
HTML来源:
<button class="md-icon-but" type="button" ng-transclude="" ng-click="g" translate="loc" aria-label="Delete" title="Delete">
<md-icon md-svg-icon="ass" data-hook="delete-button" class="ng-scope" aria-hidden="true"><svg xmlns="ht" width="100%" height="100%" viewBox="0 0 24 24" fit="" preserveAspectRatio="xMidYMid meet" focusable="false"><path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"></path></svg></md-icon>
<div class="md"></div></b>
如何解决并成功点击?
通常,您只需要最大化浏览器窗口:
browser.driver.manage().window().maximize();
请注意,在Chrome+Mac上,目前您必须以不同的方式进行操作。
以下是一组其他也帮助了其他人的东西:
- 验证是否有其他元素与定位器匹配。如果与定位器匹配的另一个元素实际上是不可见的,则可能会出现此错误
等待元素可点击:
var EC = protractor.ExpectedConditions, elm = $("button[title=Delete]"); browser.wait(EC.elementToBeClickable(elm), 5000);
滚动到元素的视图:
var elm = $("button[title=Delete]"); browser.executeScript("arguments[0].scrollIntoView();", elm);
通过javascript:点击
var elm = $("button[title=Delete]"); browser.executeScript("arguments[0].click();", elm);
移动到元素并通过"浏览器操作"点击:
var elm = $("button[title=Delete]"); browser.actions() .mouseMove(elm) .click() .perform();
var EC = protractor.ExpectedConditions;
// Waits for the element with id 'abc' to be clickable.
browser.wait(EC.elementToBeClickable($('#abc')), 5000);
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 多个单选按钮组相互干扰
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Javascript按钮下拉列表
- jquery试图按名称获取按钮位置
- 漂亮照片图片库中的Facebook赞按钮
- 交互2个单选按钮2个不同的功能Javascript
- 元素当前不可见,因此单击按钮时可能无法与之交互
- 对用户交互进行单选按钮检查
- 使用按钮与 GoogleCharts 中的图表进行交互
- 无法与使用 jQuery 的 jQuery 加载按钮交互
- jQuery按钮交互在多次交互后变慢
- 设置单选按钮,无需交互,仅使用javascript
- 基于单选按钮状态的链接点击动态生成href: PHP与javascript的交互
- 3个按钮之间的交互
- 我需要让我的按钮与这个蚀刻草图的Javascript交互
- 外部Javascript不;t与按钮点击进行交互
- 增量属性与按钮和输入的交互
- 通过放置在任何地方的按钮与angular指令交互