首页 > 解决方案 > 使用 Protractor/Java 脚本自动化 Angular 时元素单击拦截错误

问题描述

单击按钮时出现以下错误:失败:元素单击被拦截:元素 ... 在点 (1383、73) 处不可单击。其他元素会收到点击:...

代码:describe('xyz应用登录成功', function () {

it('Launching Application', function () {
    browser.waitForAngularEnabled(false); 
    var menuButton = element(by.xpath('//span[.="Today"]'));
    browser.get('xyz-url')
    browser.manage().window().maximize();
    console.log('Beta Application launched successfully')
    browser.sleep(8000)

    menuButton.click();
    browser.sleep(2000);
});

})

标签: angularprotractor

解决方案


有几个问题。我通常尝试等待元素可点击或使用javascript点击它。

static readonly EC = protractor.ExpectedConditions;
browser.wait(EC.elementToBeClickable(menuButton);
menuButton.click();

或者

browser.executeScript('arguments[0].click();', menuButton);

推荐阅读