繁体   English   中英

硒不使用ID执行按钮单击-Java

[英]Selenium not performing button click using ID - Java

我试图单击Google搜索按钮,但硒在我的情况下不起作用。

driver.findElement(By.id("lst-ib")).sendKeys("India"); 正在工作,但driver.findElement(By.id("gsr")).click(); 不管用。

替代方法可以是driver.findElement(By.id("lst-ib")).sendKeys(Keys.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是整个Google页面<body>的ID,您应该这样做:

driver.findElement(By.name("btnK")).click();

这似乎是搜索按钮的名称属性。 参见下图: 搜索按钮

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

一些xpath如下:

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

要么

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM