Protractor 单击元素时是否有其他方法?

Protractor 单击元素时是否有其他方法?,protractor,Protractor,我已经尝试了以下代码,但没有单击元素 global.elmCBSave.click(); browser.sleep(2000); browser.actions().mouseMove(global.elmCBSave.getWebElement()) .click(protractor.Button.LEFT).perform(); browser.sleep(2000); browser.actions().mouseM

我已经尝试了以下代码,但没有单击元素

    global.elmCBSave.click();
    browser.sleep(2000);
    browser.actions().mouseMove(global.elmCBSave.getWebElement())
        .click(protractor.Button.LEFT).perform();       
    browser.sleep(2000);
    browser.actions().mouseMove(global.elmCBSave.getWebElement())
        .mouseDown().mouseUp()
        .click(protractor.Button.LEFT).perform();       
    browser.sleep(2000);
元素的属性未标记为按钮,它标记为跨度,看起来像链接

    <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>
注意:之所以使用cssContainingText,是因为“取消”按钮具有相同的css:

<span id="button-1013-btnInnerEl" data-ref="btnInnerEl" unselectable="on" class="x-btn-inner x-btn-inner-default-small">Cancel</span>
取消
我还尝试发送TAB键,然后输入键,但什么也没发生,它只关注按钮

请尝试下列任一方法。希望对你有帮助

如您所见,“保存”和“取消”具有相同的值,因此不可能使用任何选择器将它们分开。 您可以尝试按如下方式为它们编制索引:

browser.findElement(by.xpath("//span[contains(@id,'button')][2]")).click();
browser.findElement(by.xpath("//span[contains(@id,'button')][3]")).click();
或者浏览文本

这仍然是使用动态选择

browser.findElement(by.cssSelector("*[id^='button'][id$='InnerEl']")).click();

有关详细信息,请访问

。#1和#3行不能使用,因为那里的整数是动态的#2我在“.click()”之前添加了一个右括号,但它仍然没有单击元素。
class=“x-btn-inner x-btn-inner-default-small”data ref=“btnInnerEl”
这怎么办?这些也是动态的?这是我当前的元素global.elmCBSave=element(by.cssContainingText('.x-btn-inner.x-btn-inner-default-small',Save');此
按钮-1011-btnInnerEl
中的动态是什么??1011是动态的吗?我说的对吗?是的,是1011,整数。
browser.findElement(by.xpath("//span[contains(text(), 'Save')]").click();
browser.findElement(by.xpath("//span[contains(text(), 'Cancel')]").click();
browser.findElement(by.cssSelector("*[id^='button'][id$='InnerEl']")).click();