Protractor 按钮可以';在自动化过程中不能单击

Protractor 按钮可以';在自动化过程中不能单击,protractor,Protractor,我正在尝试单击显示/可见/显示的按钮 手动操作时,用户可以单击按钮。 如果执行了测试,您会注意到它正在尝试单击按钮,但什么也没有发生 我还尝试了很长时间的等待,并尝试在自动化过程中手动单击它。 但是,当点击它时,什么也不会发生 我无法共享该站点,因为它位于代理中 这是按钮的HTML,看起来很正常: <a class="x-btn x-unselectable x-box-item x-toolbar-item x-btn-default-small" style="min-width: 7

我正在尝试单击显示/可见/显示的按钮

手动操作时,用户可以单击按钮。
如果执行了测试,您会注意到它正在尝试单击按钮,但什么也没有发生

我还尝试了很长时间的等待,并尝试在自动化过程中手动单击它。
但是,当点击它时,什么也不会发生

我无法共享该站点,因为它位于代理中

这是按钮的HTML,看起来很正常:

<a class="x-btn x-unselectable x-box-item x-toolbar-item x-btn-default-small" style="min-width: 75px; right: auto; left: 328px; top: 0px; margin: 0px;" hidefocus="on" unselectable="on" role="button" aria-hidden="false" aria-disabled="false" id="button-1011" tabindex="-1" data-componentid="button-1011">
    <span id="button-1011-btnWrap" data-ref="btnWrap" role="presentation" unselectable="on" style="" class="x-btn-wrap x-btn-wrap-default-small ">
        <span id="button-1011-btnEl" data-ref="btnEl" role="presentation" unselectable="on" style="" class="x-btn-button x-btn-button-default-small x-btn-text    x-btn-button-center ">
            <span id="button-1011-btnIconEl" data-ref="btnIconEl" role="presentation" unselectable="on" class="x-btn-icon-el x-btn-icon-el-default-small  " style=""></span>
            <span id="button-1011-btnInnerEl" data-ref="btnInnerEl" unselectable="on" class="x-btn-inner x-btn-inner-default-small">Save</span>
        </span>
    </span>
</a>
我还尝试使用browser.executescipt,这在通过控制台执行时有效:

browser.executeScript('$(".x-btn-inner.x-btn-inner-default-small:eq(3)").click()')

有几件事你可以试试

确保将
done
传递到回调中,并处理单击事件返回的承诺

it('should click the Save button.', function(done) {
    global.elmCBSave.click().then(function(){
        done();
    });
}); 
此外,我倾向于设置一个预期条件,以等待元素可单击:


测试代码在哪里?代码基本上是给定的,所以我没有包括它。请看更新的问题。你不应该“点击”锚而不是跨度吗
element(by.id('button-1011'))
我刚刚尝试单击锚定,但没有任何效果。另外,请确保选择了正确的元素。很多时候,我必须单击元素标识符内/上方的
标记或类似标记。仍然无法单击按钮。是的,我的元素被指向带有“span”标记的“保存”文本,这是按钮最内部的部分。正如Tom(注释部分)所建议的那样,Ready也尝试过它,但不是working@PaulCo,那么您是在等待元素可点击的同时指向
标记的?对不起,如果那样不行,我就没办法了。。。
it('should click the Save button.', function(done) {
    global.elmCBSave.click().then(function(){
        done();
    });
}); 
var EC = protractor.ExpectedConditions;
// Waits for the element with id 'abc' to be clickable.

it('should click the Save button.', function(done) {
    browser.wait(EC.elementToBeClickable($('#abc')), 5000).then(function(){
        global.elmCBSave.click().then(function(){
            done();
        });
    });
});