2016-11-22 5 views
0

У меня возникла проблема с поиском выпадающего списка. Я получил его для работы с абсолютным путем, но не с фактическим xpath или id элемента. Это супер разочаровывает и просто не может понять это.Поиск элемента по команде id работает в Selenium ide, но не в Java

Я установил Selenium IDE, чтобы увидеть, будет ли он работать там, и селен IDE поднимает раскрывающийся список. Я экспортировал этот тест в JAVA/JUNIT и скопировал и вставлял команду, в которой я нуждался, в свой существующий тест. Команда, которая работала в Selenium ид был:

Command: select 
Target: id=z_be 
Value: label=All conditions must be met 

Я экспортировал это Java:

new Select(driver.findElement(By.id("z_be"))).selectByVisibleText("All conditions must be met"); 

, но я получаю сообщение об ошибке:

UnexpectedTagNameException: Element should have been "select" but was "div" 

Этот вопрос сводит меня с ума, и будет любите его, если кто-то может указать мне в правильном направлении и показать мне ошибки моих путей. Html:

<select id="z_be" class="vui-input d2l-select" name="z_be" style="background-color: rgb(255, 255, 255);"> 
<option value="1">All conditions must be met</option> 
<option value="2" selected="selected">Any condition must be met</option> 
</select> 
+0

ли идентификатор 'z_be' уникален? Я предполагаю, что другой элемент div также использует один и тот же идентификатор. –

+0

Привет Sudharsan Selvaraj, я вижу только несколько экземпляров этого z_be: <шильдику = класс «ctl_41» = «VUI-метку» для = «z_be»> Для доступа к этому элементу, пользователи должны удовлетворять другие является n частью некоторого hugh html chunk: tarquin

+0

Запустите 'document.querySelectorAll (« # z_be »). Length' в dev-консоли ... он возвращает 1? – JeffC

ответ

0

Я, наконец, получил эту работу. Я попытался следующие, но это не та работа, которую я не знаю, почему, как он успешно определил его в Firebug CSS:

driver.findElement(By.cssSelector("select[id*='z_be'] option[value='1']")).click(); 

Но потом я попробовал это и сделал работы:

driver.findElement(By.cssSelector("option[value='2']")).click(); 

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

  • Нет связанных вопросов^_^