Как нажать кнопку в селене с Java без имени или идентификатора - PullRequest
0 голосов
/ 22 февраля 2019

Как я могу использовать селен, чтобы нажать эту кнопку?

 <button type="submit" class="button--primary button button--icon button--icon--login"><span class="button-text">Log in</span></button>

Я пробовал эти

    driver.findElement(By.className("button--primary button button--icon button--icon--login")).click();
    driver.findElement(By.xpath("//button[contains(@class='button--primary button button--icon button--icon--login')]")).click();
    driver.findElement(By.xpath("//span/button[text()='Log in' and @class='button']")).click();
    driver.findElement(By.xpath("//span/button[text()='Log in'][1]")).click();

, но безрезультатно, помогите!

1 Ответ

0 голосов
/ 22 февраля 2019

Похоже, что у вас это почти получилось с вашей последней попыткой.

Это должно работать, хотя:

driver.findElement(By.xpath("//button//span[text()='Log in']")).click();

Когда вы используете параметр содержит, у вас должна быть запятая, не равная после @учебный класс.Ваш собственный путь сработал бы в этом случае:

driver.findElement(By.xpath("//button[contains(@class,'button--primary button button--icon button--icon--login')]")).click();
...