如何在带有Java的Selenium中单击没有名称或ID的按钮

时间:2019-02-21 23:14:21

标签: java selenium web driver

如何使用硒单击此按钮?

 <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 :(得分:4)

看起来就像您在上一次尝试中差不多。

这应该可以:

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

当使用contains时,@ class后应该有一个逗号,而不是等号。在这种情况下,您可以使用自己的路径:

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