Доступ к DOM из WebBrowser

Я пытаюсь реализовать небольшое браузерное приложение, которое позволило бы мне изменять внешний вид просматриваемых веб-сайтов (например, увеличивать шрифт для ссылок). Он предназначен для Microsoft Surface, для использования на огромном сенсорном экране. Он использует WPF для пользовательского интерфейса.

Я намерен использовать элемент управления WebBrowser для этой задачи. Однако в документах есть два класса, называемых WebBrowser. Один из них находится вSystem.Windows.Formsдругой вSystem.Windows.Controls, Первый дает доступ к модели DOM, но предназначен для приложений Forms (если я правильно понимаю, это определенно не то, что у меня есть). Второй добавляется по умолчанию, если вы добавляете контроллер в xaml, но он не дает доступа к DOM.

Итак, как мне получить доступ к модели DOM из WebBrowser для Surface? Я очень плохо знаком с технологиями c # и Microsoft, поэтому прошу прощения, если мой вопрос неясен или очевиден.

Ответы на вопрос(1)

Решение Вопроса

ДляSystem.Windows.Controls.WebBrowser Класс вы можете использовать свойство Document. ДобавлятьMSHTML ссылка на ваш проект, которая должна быть доступна, если щелкнуть правой кнопкой мыши на проекте и выбрать «Добавить ссылку», тогда вы сможете преобразовать его в mshtml.IHTMLDocument2.

mshtml.IHTMLDocument2 htmlDoc = webBrowser.Document as mshtml.IHTMLDocument2;
// do something like find button and click
htmlDoc.all.item("testBtn").click(); 
 Ahmad23 мая 2015 г., 15:14
так должно бытьwebBrowser.Document.DomDocument
 volody05 авг. 2015 г., 16:11
@ Ахмад этот ответ относится к Controls.WebBrowser, а не Forms.WebBrowser
 June Pecherska19 окт. 2012 г., 10:59
Большое спасибо! Быстрый вопрос - где я должен был найти эту информацию? Поскольку я не мог найти это нигде ...
 Royi Namir07 февр. 2013 г., 10:10
Смогу ли я читать динамический дом? Я имею в виду, если страница внутри веб-браузера создаст динамику HTML с использованием ajax, смогу ли я прочитать ее?

Ваш ответ на вопрос