Невозможно нажать кнопку ‹div› с помощью Selenium WebDriver

Я хочу нажать кнопку, которая на самом деле является тегом <div>. Я не могу нажать на него.

Фрагмент HTML

<div id="search_product" class="ng-scope" ng-init="init({ searchPath: { simple: '/marketing/campaigns/search_product', advanced: '/marketing/campaigns/search' }, searchLimit: 5000 })" rms-modal="">

Вот код Selenium Webdriver для операции щелчка:

driver.findElement(By.className("ng-scope")).click();

person Nabin    schedule 18.10.2015    source источник
comment
Вы ждали, пока ваш JavaScript-код будет инициализирован, прежде чем пытаться щелкнуть по нему? Или вы на самом деле ввели class="ng-scope" в свой HTML?   -  person Matti Virkkunen    schedule 18.10.2015
comment
Я дождался инициализации JavaScript, прежде чем пытаться щелкнуть.   -  person Nabin    schedule 18.10.2015
comment
Какая у вас ошибка?   -  person Saifur    schedule 18.10.2015
comment
Сообщение об ошибке не отображается. Операция щелчка не выполняется. И управление переходит к следующей строке кода.   -  person Nabin    schedule 18.10.2015
comment
Я не совсем понимаю, что должно реагировать на щелчок в любом коде, который вы разместили. Трудно сказать, почему это не работает, если вы не разместили соответствующий код.   -  person Matti Virkkunen    schedule 18.10.2015
comment
Набор результатов поиска будет отображаться при нажатии. Нам также нужно выбрать результаты поиска. Поскольку он не щелкает, результат поиска не отображается. опубликовать код клика List <WebElement> a = new ArrayList <WebElement>(); a=driver.findElements(By.xpath("//td[@class='b-border-right b-head-sub']/input")); for (int i=0;i<a.size();i++) { a.get(i).click(); }   -  person Nabin    schedule 18.10.2015
comment
Вы ждали определенное время, я имею в виду, использовали ли вы thread.sleep()/неявное ожидание   -  person Kumrun Nahar Keya    schedule 18.10.2015
comment
Да, использовал Thread.sleep   -  person Nabin    schedule 18.10.2015
comment
Что это div делает? Итак, что вы видите, чтобы нажать?   -  person Mahsum Akbas    schedule 18.10.2015
comment
Этот div, по-видимому, не тот элемент, на который нужно щелкнуть. Попробовать другой в этом районе? Опубликуйте еще немного окружающего HTML, попробуйте еще несколько вещей и опубликуйте то, что вы пробовали.   -  person JeffC    schedule 18.10.2015


Ответы (1)


Вы пробовали driver.findElement(By.id("search_product")).click();

проблема, похоже, связана с выбранным вами локатором. Может быть несколько элементов div с одним и тем же именем класса. Selenium находит первый элемент, который соответствует локатору, и запускает действие над ним.

person debugger89    schedule 19.10.2015