HTML code:
<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单击元素,但我无法使用它。请帮帮我。
请帮帮我
答案 0 :(得分:1)
我得到了答案:我尝试了这段代码,效果很好。
element(by.partialLinkText('My Profile')).click();
答案 1 :(得分:1)
您可能也通过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();
尽管如此,我同意“通过部分链接文本”选项在这种情况下是更好的选择。