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

not able to click on element from drop down list?

本文关键字:元素 下拉列表 单击      更新时间:2023-09-26

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();

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

我得到了答案:我尝试了这个代码,它运行得很好。

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