HTML 代码:
<ul class="dropdown-menu" role="menu">
<li>
<a href="#/profile">
<i class="fa fa-user"></i> My Profile </a>
</li>
<li>
<a href="#/source">
<i class="fa fa-user"></i> Source </a>
</li>
<li>
<a href="/user/logout">
<i class="fa fa-user"></i> Logout </a>
</li>
</ul>
我的代码:
element(by.cssContainingText('i.fa.fa-user', ' My Profile ')).click();
问题:我尝试使用 class 和 cssContaingText 单击元素,但无法执行此操作。请帮助我。
请帮助我
最佳答案
您可能也通过 by.cssContainingText
解决了这个问题。当前方法的问题在于您正在检查 i
元素内的文本,在您的情况下该文本为空:
<a href="#/profile"><i class="fa fa-user"></i> My Profile </a>
要检查的文本位于 a
元素内:
element(by.cssContainingText('ul.dropdown-menu > li > a', 'My Profile')).click();
或者,您可以在不检查文本的情况下解决它:
element(by.css("a[href*=profile]")).click();
不过,我同意“通过部分链接文本”选项在这种情况下是更好的选择。
关于javascript - 无法单击下拉列表中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33627450/