这是我的HTML,用于Angular2应用程序。我正在Chrome中执行测试。

<div _ngcontent-c0="" class="header-actions">
    <!---->
    <clr-dropdown _ngcontent-c0="" class="dropdown" style="position: static;">
        <button _ngcontent-c0="" class="nav-text dropdown-toggle"
            clrdropdowntrigger="">
        <span _ngcontent-c0="">User Name</span>
        <!---->
        </button>
        <!---->
    </clr-dropdown>
</div>

我尝试了以下选项,但未能单击用户名
1.1    element(by.css('nav-text dropdown-toggle')).click();
1.2    element(by.css('.nav-text dropdown-toggle')).click();
1.3    element(by.css("//span[. = 'User Name']")).click();
1.4    element(by.xpath("//span[. = 'User Name']")).click();



2. var logUser = $("div.header-actions  clr-dropdown.dropdown button span"),
       EC = protractor.ExpectedConditions;
       browser.wait(EC.visibilityOf(logUser), 5000);
       logUser.click();

3. var elementToClick = element(by.css('.btn btn-lg btn-primary btn-block'));
 browser.wait(protractor.ExpectedConditions.elementToBeClickable(elementToClick)
 ,10000).then ( function () {elementToClick.click(); });

如有任何帮助,我们将不胜感激。

最佳答案

我认为你的css选择器有问题。
试试这个,这个应该有用。

element(by.css('div.header-actions > clr-dropdown.dropdown > button.nav-text')).click();

关于html - 无法单击具有跨度的按钮, Protractor 有办法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48919845/

10-12 00:20
查看更多