Javascript 无法单击下拉列表中的元素?

Javascript 无法单击下拉列表中的元素?,javascript,protractor,Javascript,Protractor,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

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>
问题:我试图使用class和cssContaingText单击元素,但无法单击它。请帮帮我


请帮帮我,我得到了答案:我试过这个代码,效果很好

element(by.partialLinkText('My Profile')).click();

您也可以通过.cssContainingText通过
解决它。当前方法的问题是,您正在检查
i
元素中的文本,在本例中,该元素为空:

<a href="#/profile"><i class="fa fa-user"></i> My Profile </a>

或者,您可以在不检查文本的情况下解决此问题:

element(by.css("a[href*=profile]")).click();

不过,我同意在这种情况下,“通过部分链接文本”选项是一个更好的选择

element(by.cssContainingText('ul.dropdown-menu > li > a', 'My Profile')).click();
element(by.css("a[href*=profile]")).click();