2

Следующий код, который я использовал, не нажимает кнопку и не показывает сообщение об ошибке.Java Selenium - Как нажать кнопку, которая не имеет идентификатора или ng-класса на странице, основанной на AngularJS.

WebElement clickNextButton = webDriver.findElement(By.cssSelector("button[ng-class='btn-success']")); 
clickNextButton.click(); 

Сообщение об ошибке не показывает "нет такого элемента:. Не удалось найти элемент {" метод ":" селектор CSS», "селектор": "Кнопка [нг класса = 'БТН-успех']" }

Я также попытался следующие сегменты кода без успеха:

  1. WebElement clickNext1 = webDriver.findElement(By.cssSelector("button[ng-class='pccCTRL.pow.Page1InputsValid() ? 'btn-success' : 'btn-default'']")); 
        clickNext1.click(); 
    
  2. webDriver.findElement(By.partialLinkText("Next")).click(); 
    
  3. webDriver.findElement(By.cssSelector("button[type='button']")).click(); 
    

Вот скриншот, показывающий сегмент кода HTML кнопки Я пытаюсь

Button code segment

Надеясь получить обратную связь. Спасибо.

ответ

2

Хорошо, я был в состоянии решить эту проблему с помощью By.xpath

Вот фрагмент кода, который решил его:

WebElement clickNextButton = webDriver.findElement(By.xpath("//button[contains(text(),'Next')]")); 

clickNextButton.click(); 
Смежные вопросы