在无头模式下,元素不可点击。但是当我们从 protractor.conf.js 中移除 headless 时,它工作正常。

Element is not clickable at point in headless mode. But when we remove headless from protractor.conf.js it is working fine.

element(by.className('cuppa-dropdown')).element(by.className('dropdown-list')).element(by.className('list-area')).element(by.tagName('li')).click();

实际上这个元素是弹出的。并且它在 headless 模式下运行良好。但是由于我们需要通过内置 vsts 来自动化测试用例,我们需要以无头模式执行测试

失败:未知错误:元素在 (863, 343) 点不可点击(会话信息:headless chrome=63.0.3239.84)(驱动程序信息: chrome驱动程序=2.34.522940 (1a76f96f66e3ca7b8e57d503b4dd3bccfba87af1),平台=Windows NT 10.0.16299 x86_64)

如上回答尝试将 window 大小设置为 chrome

的参数
chromeOptions: {
                args: [
                    '--window-size=1920,1080'],

setTimeout(function() {
                browser.driver.executeScript(function() {
                    return {
                        width: window.screen.availWidth,
                        height: window.screen.availHeight
                    };
                }).then(function(result) {
                    browser.driver.manage().window().setPosition(0,0);
                    browser.driver.manage().window().setSize(result.width, result.height);
                });
            }); 

更改配置文件中的 chrome 选项时工作正常
args: ["--headless", "--disable-gpu", "--window-size=1280x1024"] 

args: ["--headless", "--disable-gpu", "--window-size=1920,1080"] 

非常感谢您的帮助。