定位

时间:2017-12-20 09:35:10

标签: java angularjs selenium selenium-webdriver webdriver

因为刚开始使用Angular中的新项目(并且还有另一个项目,其中测试用 Java 编写,因此如果有可能就不会使用Protractor),难以定位带有xpath的元素。 在找到主页按钮时,请帮助我(虽然它看起来很简单)但在我看来这是一个很大的困惑。这是页面来源:

<ul _ngcontent-c9="" class="be-inline-menu be-font--be">

    <!---->
      <!---->

      <!----><be-inline-menu-item _ngcontent-c2="" _nghost-c10="" class=""><li _ngcontent-c10="" class="be-inline-menu__item">
    <a _ngcontent-c10="" class="be-inline-menu__item__inner be-typo-be be-inline-menu__item__inner--is-active" href="/home">
     Home
   <!---->

所以,试过这个(在检查元素的同时)并没有得到任何东西:

//ul[@_ngcontent-c9.class='be-inline-menu be-font--be']//a

提前谢谢你  enter image description here

2 个答案:

答案 0 :(得分:2)

要查找文字为 Home 的按钮,您可以使用以下任一选项:

  • cssSelector

    driver.findElement(By.cssSelector("ul.be-inline-menu.be-font--be a.be-inline-menu__item__inner.be-typo-be.be-inline-menu__item__inner--is-active[href=/home]")).click();
    
  • xpath

    driver.findElement(By.xpath("//ul[@class='be-inline-menu be-font--be']//a[@class='be-inline-menu__item__inner be-typo-be be-inline-menu__item__inner--is-active' and @href='/home']")).click();
    

答案 1 :(得分:0)

试试这个xpath .// a [contains(text(),'Home')] 您也可以使用css选择器 a [href =“/ home”]