Selenium не выполняет нажатия кнопки с использованием идентификатора - Java - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь нажать на кнопку поиска 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();
    }

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Первый Ваш идентификатор для поиска неправильный, во-вторых, вы можете использовать XPath или имя, как предложено @ Pijotrek

Некоторые из следующих xpath:

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

или

driver.findElement(By.xpath("//input[@value='Google Search' and @name='btnK']")).click();
0 голосов
/ 13 сентября 2018

Я думаю, вы ошибаетесь ID. gsr является идентификатором для всей <body> страницы Google, вам лучше сделать:

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

, который кажется атрибутом имени кнопки поиска. Смотрите картинку ниже: Search button

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...