Я пытаюсь проверить, присутствует ли элемент на странице с помощью команды if (@browser.text_field(:id => textbox).exists?)
, но эта команда выполняется еще до того, как страница загрузилась, и она всегда переходит к инструкции else. Как я могу справиться с этим?Команда Watir выполняется до загрузки страницы
ответ
Ватир, продолжающийся до того, как страница закончила загрузку, часто означает, что страница загружает что-то асинхронно. В этом случае вам нужно будет сообщить Ватиру, когда на самом деле страница будет загружена. Как вы это делаете, это зависит от страницы, но в целом есть 2 варианта.
При загрузке контента асинхронно многие приложения будут отображать счетчик или индикатор выполнения. Когда этот элемент исчезнет, страницу можно считать «загруженной». Поэтому, если у вас есть один из этих типов элементов на странице, вы можете подождать, пока она исчезнет, прежде чем продолжить:
@browser.div(:id => 'spinners_id').wait_while_present
if @browser.text_field(:id => textbox).exists?
# Do stuff
else
# Do other stuff
end
Альтернативно, может быть элемент на странице, что вы знаете, загружается в последнюю очередь. В этом случае, вы можете подождать до тех пор, пока не появится этот элемент:
@browser.div(:id => 'some_last_element').wait_until_present
if @browser.text_field(:id => textbox).exists?
# Do stuff
else
# Do other stuff
end
@ browser.text_field (: идентификатор, текстовое поле) .when_present.set «Добро пожаловать»
Это поможет уменьшить нежелательную проверку ожидания коды и сделать код более читаемым.
- 1. Window.load выполняется до загрузки изображения
- 2. watir webdriver ждет загрузки шрифта
- 3. Перенаправление до загрузки страницы
- 4. Watir-WebDriver: не удается установить текстовое поле до обновления страницы
- 5. Как запустить анимацию загрузки до загрузки страницы
- 6. диалоговое окно загрузки до загрузки страницы
- 7. Datasource.groovy выполняется до загрузки контекста приложения?
- 8. Watir-webdriver: как заставить метод click дождаться загрузки страницы полностью
- 9. Отключить прокрутку страницы до загрузки страницы - JQuery
- 10. Ожидание до загрузки всей страницы
- 11. Автоматический кеш до загрузки страницы
- 12. Показать изображение до загрузки страницы
- 13. javascript: время до загрузки страницы
- 14. Запуск процесса до загрузки страницы
- 15. Ajax вызов до загрузки страницы
- 16. load iframe до загрузки страницы
- 17. проверить вход и перенаправить до загрузки страницы
- 18. Javascript событие, которое выполняется до изменения страницы
- 19. Функция загрузки после загрузки выполняется
- 20. В Selenium Какова команда «дождаться остановки загрузки страницы»
- 21. Watir-Webdriver Ждите завершения загрузки
- 22. Тестирование загрузки watir и rspec
- 23. Команда RibbonSplitButton выполняется дважды
- 24. Выполняется команда grep?
- 25. выполняется команда Perl неопределенного
- 26. Команда не выполняется правильно
- 27. команда «java» выполняется, но не команда «javac»
- 28. Delphi7, команда Showmessage выполняется до появления формы заявки
- 29. команда Unix выполняется до того, как аутентификация завершена через SSH
- 30. Watir. Выделите определенный момент страницы