Selenium Web Driver - Как работать с динамическими ссылками в href - PullRequest
0 голосов
/ 24 сентября 2018

Ниже приведен HTML-код:

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

У меня есть динамическое значение, меняйте его по мере обновления страницы!как справиться с этим.Пожалуйста, сообщите.

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

1 Ответ

0 голосов
/ 24 сентября 2018

Хотя значение является динамическим,

  • Если linkText Результат уникален в пределах HTML DOM Вы можете использовать Текст ссылки , вызывая WebDriverWait , чтобы элемент можно было нажимать следующим образом:

    • linkText:

      new WebDriverWait(Driver, 20).until(ExpectedConditions.elementToBeClickable(By.linkText("Result"))).click();
      
  • Если linkText Результат равен не уникальный в HTML DOM вы можете использовать XPath , вызывающий WebDriverWait для элемента , который можно нажимать следующим образом:

    • xpath:

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