WatiN: MsHtmlBrowser не будет печатать текст

С сайта WatiN:

  // Open a new Internet Explorer window and
  // goto the google website.
  IE ie = new IE("http://www.google.com");

  // Find the search text field and type Watin in it.
  ie.TextField(Find.ByName("q")).TypeText("WatiN");

  // Click the Google search button.
  ie.Button(Find.ByValue("Google Search")).Click();

  // Uncomment the following line if you want to close
  // Internet Explorer and the console window immediately.
  //ie.Close();

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

        // goto the google website.
        var ie = new MsHtmlBrowser();
        ie.GoTo("http://www.google.com");
        // Find the search text field and type Watin in it.
        ie.TextField(Find.ByName("q")).TypeText("WatiN");

        // Click the Google search button.
        ie.Button(Find.ByValue("Google Search")).Click();

Строка TypeText вызывает исключение. Есть идеи, что случилось?


person StackOverflowNewbie    schedule 21.01.2010    source источник
comment
Что является исключением? Разве он не находит TextField и, следовательно, не ссылается на нулевой указатель?   -  person Matthew Cole    schedule 21.01.2010


Ответы (1)


MsHtmlBrowser предназначен только для поиска элементов и чтения значений их атрибутов. Не поддерживается щелчок по ссылке, ввод текста, запуск событий, состояние сеанса или любой другой способ взаимодействия, как в обычном браузере. Так что мы его только на слом.

HTH, Йерун

person Jeroen van Menen    schedule 22.01.2010
comment
Jeroen, спасибо за разъяснение. Мне нужно ввести текст и т. д. из веб-службы. Могу ли я сделать это с классами IE и FF? Могу ли я как-то использовать эти браузеры для работы без головы? - person StackOverflowNewbie; 23.01.2010