这是我的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/