WatiN дождаться завершения выполнения java-скрипта, прежде чем нажать на ссылку (IE) - PullRequest
1 голос
/ 25 мая 2010

У меня есть эта страница, отображающая оператор каждые 2 секунды (используя javascript), в конце есть ссылка, по которой пользователь может щелкнуть.

в IE он нажмет на ссылку, прежде чем сгенерированный javascript оператор будет завершен. когда я использую Link.Click ()

(в Firefox он выдаст исключение, что меня устраивает)

есть ли способ дождаться завершения выполнения JavaScript, прежде чем будет нажата ссылка (IE)?

ТИА

EDITED // код, довольно простой поиск ссылки, которая начинается с // «продолжить поиск» в браузере, затем нажмите

if (ln.Text.StartsWith("Continue searching", StringComparison.CurrentCultureIgnoreCase))
{
  ln.Click();
}

Thx

Ответы [ 3 ]

0 голосов
/ 25 мая 2010

Если я правильно понимаю, ссылка уже загружена, но javascript присоединит к ней некоторые события чуть позже, верно? Не могли бы вы немного подождать, используя Thread.Sleep(500)? Или, может быть, вы можете узнать, что происходит после выполнения кода JavaScript. Вам нужно выяснить, как работает js на этой странице, но, возможно, js добавляет какой-то класс или что-то похожее на эту ссылку, чтобы вы могли подождать в активном цикле с небольшим значением Thread.Sleep, пока js не сделает свою работу.

0 голосов
/ 05 августа 2010

Вы пытались использовать ie.WaitUntilContainsText("my text");?

0 голосов
/ 25 мая 2010

возвращает false из функции «Link.Click», тогда поведение по умолчанию будет игнорироваться.

...