Selenium Web驱动程序-如何处理href链接中的动态

时间:2018-09-24 14:57:01

标签: java selenium xpath webdriver webdriverwait

下面是HTML:

<a href="#report-adhoc/32|227/result">Result</a>

我在这里具有动态价值,请在页面刷新时不断变化!如何处理。请告知。

Driver.findElement(By.xpath("//a[@href='#report-adhoc/**32|229**/result']")).click();

1 个答案:

答案 0 :(得分:1)

是动态的,

  • 如果 linkText 结果HTML DOM中是唯一的,则可以使用链接文本生成 WebDriverWait ,使元素可点击,如下所示:

    • linkText

      new WebDriverWait(Driver, 20).until(ExpectedConditions.elementToBeClickable(By.linkText("Result"))).click();
      
  • 如果 linkText 结果HTML DOM中不是唯一的,则可以使用 XPath < / em>诱导 WebDriverWait 使元素可点击,如下所示:

    • xpath

      new WebDriverWait(Driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[contains(@href,'report-adhoc') and contains(.,'Result')]"))).click();