WatiN: ошибка при попытке ввести текст ("WatiN") в текстовое поле поиска Google - PullRequest
4 голосов
/ 08 декабря 2011

Я только недавно начал изучать WatiN и следовал примеру из http://www.codeproject.com/KB/aspnet/WatiN.aspx. К сожалению, я столкнулся с проблемой, когда утверждается, что текстового поля с именем "q" не существует.

Вот мой код:

    [STAThread]
    static void Main(string[] args)
    {
        IE ie = new IE();
        ie.GoTo("http://www.google.com");
        TextField ietxt = ie.TextField(Find.ByName("q"));
        ietxt.TypeText("WatiN");
        ie.Button(Find.ByValue("Google Search")).Click();

    }

Когда он попадает в строку ietxt.TypeText ("WatiN"), он выдает ошибку: "Не удалось найти критерии соответствия тега элемента INPUT (скрытый) или INPUT (пароль), INPUT (текст), INPUT (текстовое поле) или TEXTAREA: атрибут 'name' равен 'q' на google.com/ (внутреннее исключение: элемент wasn ' t доступно в течение 30 секунд.) "

Кажется, что каждый использует этот пример, и он прекрасно работает для них. Кроме того, я вошел в исходный код для google.com и обнаружил, где именно указано, что «q» действительно является именем текстового поля поиска.

<input name="q" title="Search" class="gsfi" id="lst-ib" ....>

Кто-нибудь знает, почему я мог получить эту ошибку?

1 Ответ

1 голос
/ 09 декабря 2011

Я нашел исправление для этого!После дальнейшего тестирования я пришел к выводу, что проблема, похоже, связана с тем, как IE 8 был настроен на моей машине.Я тестировал на других машинах с XP и IE8, и все работало нормально.Удаление и переустановка IE8 устранила проблему.

Я все еще не уверен, что было настроено по-другому с моей прошлой версией IE8, поэтому, если у кого-то есть какие-либо идеи о том, что могло вызвать это, я буду радуслышать.

Спасибо!

...