2015-12-31 2 views
1

Я использую Java с селеном WebDriver во время запускаСобытие Click не работает в selenium webdriver в java?

driver.findElement(By.xpath(".//*[@id='releasesdiv']/select[@id='releaseID']")).click(); 

Исключения не происходит, но событие щелчка не сработает. Если какое-либо предложение о том, как преодолеть эту проблему? заранее спасибо. Примечание: xpath perfect (Без сомнения).

+1

Если не было исключение, то это означает, что щелчок произошло. Может быть, вы нажимаете на то, что не имеет результата. Если вы планируете выбирать из раскрывающегося списка, вы должны использовать 'Select' в WebDriver. – LINGS

+0

Проблема исправлена ​​изменением driver.manage(). Timeouts(). ImplicitlyWait (3, TimeUnit.SECONDS); к Thread.sleep (3000); \t Я задаюсь вопросом .... в чем разница между потоком сна и имплицитно? –

ответ

0

короче говоря, неявно ждать, ждет, пока указанный максимальное время, если они (элементы) недоступны. если элемент доступен на странице с указанным максимальным временем, его стартовым исполнением и продолжением указанных действий над этим элементом. Несколько раз webdriver выполняет указанное действие над элементом правильно, но он не запускается или не моделируется правильно. вот почему мы не получили исключения здесь. В этих ситуациях помогает Thread.sleep, который является командой java. Он будет вслепую ждать до указанного времени, учитывая, что элемент доступен или нет в указанное время.

http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp

Благодаря

0

Thread.sleep (10) означает, что ваша программа не будет выполняться в течение определенного периода времени, например, 10 секунд. Неявные ожидания 3 сек означает WebDriver будет опрашивать webelement через каждые 250 мс до 3 секунд, чтобы появиться, и если он находит webelement WebDriver будет продолжать выполнять следующий скрипт в противном случае NoSuchElementException

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