2012-04-14 4 views
0

Я пытаюсь прочитать источник HTML, используя управление веб-браузером в C#.GetElementsByTagName не возвращает элементы в элементе управления webbrowser

Источник HTML содержит следующую строку:

входной класс = имя "MyClass" = "фиксации" тип = "отправить" значение = "Отправить"

Я пытаюсь читать выше, используя следующий код:

HtmlElementCollection buttonElement = webBrowser1.Document.GetElementsByTagName("commit"); 

Но он не возвращает никакого элемента. Я напечатал buttonElement.Count значение и он печатает 0.

Когда я нажимаю правой кнопкой мыши в элементе управления веб-браузером и просматриваю исходный код, тогда я вижу этот элемент «commit», и нет другого элемента по этому имени.

+0

Это атрибут, а не элемент. –

ответ

2

Это имя тега input. Поэтому ваш код должен быть примерно таким:

var element = webBrowser.Document.GetElementsByTagName("input") 
      .Cast<HtmlElement>() 
      .Where(e => !String.IsNullOrEmpty(e.GetAttribute("name")) && e.GetAttribute("name") == "commit") 
      .FirstOrDefault();