Короче говоря - у меня есть кнопка, которая не имеет идентификаторов и имеет составной класс (поэтому селен ненавидит его / не может его найти). Поэтому я использую селектор XPath, который прекрасно работает
driver.findElement(By.xpath("//input[@value='Continue to Payment']")).click()
Но кнопка меняется в зависимости от используемого языка.
Так что на данный момент у меня есть
if (driver.findElement(By.xpath("//input[@value='Continue to Payment']")).isDisplayed()){
driver.findElement(By.xpath("//input[@value='Continue to Payment']")).click();
}
else if (driver.findElement(By.xpath("//input[@value='Paiement']")).isDisplayed()){
driver.findElement(By.xpath("//input[@value='Paiement']")).click();
}
else if ( same thing as above but for another language)
Но когда Selenium выдает ошибку после прохождения первого оператора if с:
no such element: Unable to locate element:{"method":"xpath","selector":"//a[contains(text(),'Checkout')]"}
Я знаю, что элементне там .. так что я не хочу, чтобы он что-то делал и переходил к следующему оператору if else. Что мне здесь не хватает?