我正在尝试单击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();
}
答案 0 :(得分:3)
我认为您选错了ID
。 gsr
是整个Google页面<body>
的ID,您应该这样做:
driver.findElement(By.name("btnK")).click();
答案 1 :(得分:1)
首先,您的搜索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();