【问题标题】:How to locate the element by using dynamic x-path for link?如何通过使用动态 x-path 链接来定位元素?
【发布时间】:2019-08-29 14:59:38
【问题描述】:

我正在尝试使用动态 x 路径查找元素,但我的代码不适用于该元素

<a href="/corporate-checkups/our-corporate-services.html" class="has-submenu" id="sm-15547263985364824-1" aria-haspopup="true" aria-controls="sm-15547263985364824-2" aria-expanded="false"><span class="sub-arrow">+</span>Our Services</a>

想通过 Action 类来选择子菜单,但在这里我找不到元素

【问题讨论】:

  • 请提供您的 html 代码和错误堆栈跟踪
  • @SurajsinghAutoQA ...使用 Action 类选择子菜单... 到底是什么意思? select -> click()?? sub-menu = +??? Action 类是强制性的吗????

标签: selenium selenium-webdriver xpath css-selectors webdriver


【解决方案1】:

子菜单上的click(),您可以使用以下任一Locator StrategiesJava 解决方案):

  • cssSelector

    driver.findElement(By.cssSelector("a.has-submenu[href='/corporate-checkups/our-corporate-services.html']>span.sub-arrow")).click();
    
  • xpath

    driver.findElement(By.xpath("//a[@class='has-submenu' and @href='/corporate-checkups/our-corporate-services.html']/span[@class='sub-arrow']")).click();
    

【讨论】:

    【解决方案2】:

    基本上你的定位器是一个链接,所以你必须选择非常简单的选项:

    driver.findElement(By.partialLinkText(“Element LINKTEXT”));
    
    driver.findElement(By.LinkText(“Element LINKTEXT”));
    

    选择您认为更适合您的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-25
      • 2018-12-25
      相关资源
      最近更新 更多