2014-11-26 2 views
-1

Это html. Мне нужно нажать «addBtn».Selenium Как нажимать тег 'p' в div

<div class="shuffle-container"> 
<p class="addBtn"></p> 
<p class="removeBtn"></p > 
</div> 

Драйвер выделяет кнопку, связанную с классом «addBtn», но событие click не происходит.

Это мой селеном код:

driver.findElement(By.className("addBtn")).click(); 
+0

Мой опыт работы с Selenium для Java не такой большой. (Только иметь опыт работы с FF-Addon или подходящим PHPUnit-Extension). Вы пытались вызвать 'driver.findElements (By.className (" addBtn "))' (рассмотрите «s»)? Может быть, он нажимает только первый «p.addBtn» -Element, который не является вашим ожидаемым ... – twity1337

+1

Есть ли какой-нибудь текст в 'p' тегах? и, пожалуйста, добавьте исключение, которое вы получаете – Saifur

+0

Вот что такое сценарий: 1. Запустите страницу 2. добавьте данные в текстовое поле. 3. Выберите данные, которые были добавлены, и нажмите «addBtn», чтобы переместить эти данные в другое текстовое поле. – Insane

ответ

2

От API:

Есть некоторые предпосылки для элемента, чтобы быть щелкнули. Элемент должен быть виден и должен иметь высоту и ширину больше . Так как ваш элемент p не имеет содержания, ширина/высота .

+0

Я могу нажать на «addBtn», если я использую другой сценарий, то есть не добавляю данные в текстовое поле, а затем нажмите , Если данные уже есть, произойдет событие click ... – Insane

+0

@ Don Bottsetin кнопка показывает 34x x34x – Insane

+0

@Insane Если вы добавите ширину/высоту с помощью css, этого должно быть достаточно, чтобы щелкнуть элемент. Я не понимаю, что такое неудачный сценарий. Вы получаете исключение селена (например, org.openqa.selenium.ElementNotVisibleException: элемент не отображается) или у вас есть прослушиватель событий js на элементе, который не выполняется? –

Смежные вопросы