如何在 java 没有名称或 ID 的情况下单击 selenium 中的按钮

How to click a button in selenium with java without name or ID

如何使用 selenium 来点击这个按钮?

 <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();

没用,求助!

看起来你上次尝试几乎成功了。

这应该可行:

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

当您使用包含时,您应该在@class 之后使用逗号而不是等号。在那种情况下,您自己的路径会起作用:

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