我的Protrator代码是
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>
如何解决它并成功点击?
答案 0 :(得分:1)
通常情况下,只需要maximize the browser window:
browser.driver.manage().window().maximize();
请注意,在Chrome + Mac上,您当前是have to do it differently。
以下是其他一些有助于他人的事情:
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);
var elm = $("button[title=Delete]");
browser.executeScript("arguments[0].click();", elm);
移至元素并点击“浏览器操作”:
var elm = $("button[title=Delete]");
browser.actions()
.mouseMove(elm)
.click()
.perform();
答案 1 :(得分:0)
var EC = protractor.ExpectedConditions;
// Waits for the element with id 'abc' to be clickable.
browser.wait(EC.elementToBeClickable($('#abc')), 5000);