Selenium未使用ID执行按钮单击-Java

Selenium未使用ID执行按钮单击-Java,java,selenium,selenium-webdriver,selenium-chromedriver,Java,Selenium,Selenium Webdriver,Selenium Chromedriver,我试图点击谷歌搜索按钮,但selenium在我的情况下不起作用 driver.findElement(By.id(“lst-ib”).sendKeys(“印度”)正在工作,但驱动程序.findElement(By.id(“gsr”))。单击()不工作 另一种方法可以是driver.findElement(By.id(“lst ib”)).sendKeys(key.ENTER)但我只想执行按钮单击。有什么原因不能工作吗 private static void performButtonClickW

我试图点击谷歌搜索按钮,但selenium在我的情况下不起作用

driver.findElement(By.id(“lst-ib”).sendKeys(“印度”)正在工作,但驱动程序.findElement(By.id(“gsr”))。单击()不工作

另一种方法可以是
driver.findElement(By.id(“lst ib”)).sendKeys(key.ENTER)但我只想执行按钮单击。有什么原因不能工作吗

private static void performButtonClickWithId() {
        driver.findElement(By.id("lst-ib")).sendKeys("India");
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        driver.findElement(By.id("gsr")).click();
    }

我想你选错了
ID
gsr
是整个
谷歌页面的ID,您应该:

driver.findElement(By.name("btnK")).click();
这似乎是搜索按钮的名称属性。见下图:

首先,您的搜索id不正确,其次,您可以使用XPath或@Pijotrek建议的名称

一些xpath如下所示:

driver.findElement(By.xpath("//input[@value='Google Search']")).click();

driver.findElement(By.xpath("//input[@value='Google Search' and @name='btnK']")).click();