Nano Hash - криптовалюты, майнинг, программирование

Остановить загрузку страницы

Есть ли способ остановить загрузку страницы с помощью watir-webdriver в Firefox? Или есть способ заставить что-то в моем скрипте, даже если страница все еще загружается? В какой-то момент в моем скрипте веб-сайт зависает, и скрипт в конечном итоге истечет время ожидания.


Ответы:


1

Вы можете использовать класс Timeout, чтобы заставить его сдаться после ожидания разумного времени (и это внутренне то, как Watir также выполняет свои ожидания)

begin
  Timeout::timeout(10) do
    # perform actions that may hang here
  end
rescue Timeout::Error => msg
  put "Recovered from Timeout"
end
02.03.2012
  • watir 6.7 тайм-аут прекратит выполнение, но не остановит загрузку страницы. Он все равно будет ждать завершения загрузки страницы, чтобы ответить на любую мою директиву. 01.12.2018

  • 2

    Если веб-сайт зависает, вы должны иметь возможность использовать метод ожидания для тайм-аута скрипта, если элемент не появляется. В основном они используются в качестве ответа на AJAX, но должны работать и в этом случае. Например, если скрипт зависает после того, как вы щелкнули ссылку, и вы ожидаете, что следующая страница будет иметь определенный заголовок или текст:

    @browser.link(:name => "Let's Hang!").click
    Watir::Wait.until(30) { @browser.title == "new page" }
    

    or

    Watir::Wait.until(30) { @browser.text.include? ("confirmation text") }
    

    or

    @browser.image(:src => "awesome.jpg").wait_until_present(30)
    

    Каждый из них будет ждать 30 секунд, пока не будет выполнено условие, прежде чем выйти с ошибкой. Вы можете изменить время (30) для выхода в окне зависания вашего приложения.

    20.10.2011
  • Я не думаю, что это сработает, так как если инициируемая загрузка страницы никогда не завершится, тест не будет прогрессировать до точки, где может начаться ожидание. 20.10.2011
  • У кого-нибудь есть сайт со страницей, которая в настоящее время не загружается для тестирования? 20.10.2011
  • не могли бы вы использовать click_no_wait вместо click? 21.10.2011
  • Иногда я использовал прерывание вашего сетевого подключения как способ имитации сайта, который не загружается, хитрость заключается в том, чтобы правильно рассчитать время, чтобы вы начали получать данные с сайта, а затем он не мог получить остальную часть страницы. . 21.10.2011

  • 3

    пожалуйста, ознакомьтесь с проблемой Selenium http://code.google.com/p/selenium/issues/detail?id=687 это еще не исправлено, watir-webdriver также основан на Selenium, надеюсь, он ответит на ваш вопрос.

    16.12.2011
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..