Como acessar o Document Object Model HTML gerenciado
É possível acessar o Document Object Model (DOM) do HTML gerenciado a partir de dois tipos de aplicativos:
Um aplicativo do Windows Forms (.exe) que hospedou o controle WebBrowser gerenciado. Essas duas tecnologias se complementam entre si, com o controle WebBrowser exibindo a página para o usuário e o DOM do HTML representando a estrutura lógica do documento.
Um UserControl do Windows Forms hospedado dentro do Internet Explorer. É possível acessar o DOM do HTML que representa a página na qual o UserControl está hospedado para alterar a estrutura do documento ou abrir caixas de diálogo restritas, entre muitas outras possibilidades.
Para acessar o DOM a partir de um aplicativo do Windows Forms
Hospede um controle WebBrowser dentro do aplicativo do Windows Forms e monitore pelo evento DocumentCompleted. Para obter detalhes sobre controles de host e monitoramento de eventos, consulte Eventos.
Recupere o HtmlDocument da página atual acessando a propriedade Document do controle WebBrowser.
Para acessar o DOM a partir de um UserControl hospedado no Internet Explorer
Crie sua própria classe derivada personalizada da classe UserControl. Para mais informações, consulte Como criar controles compostos.
Coloque o seguinte código dentro do manipulador de eventos Carregar do UserControl:
HtmlDocument doc = null;
private void UserControl1_Load(object sender, EventArgs e)
{
if (this.Site != null)
{
doc = (HtmlDocument)this.Site.GetService(typeof(HtmlDocument));
}
}
Private Sub UserControl1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If (Me.Site IsNot Nothing) Then
Dim Doc As HtmlDocument = CType(Me.Site.GetService(Type.GetType("System.Windows.Forms.HtmlDocument")), HtmlDocument)
End If
End Sub
Programação robusta
- Ao usar o DOM através do controle WebBrowser, é sempre necessário esperar até o evento DocumentCompleted ocorrer antes de tentar acessar a propriedade Document do controle WebBrowser. O evento DocumentCompleted é elevado após o documento inteiro ser carregado, se o DOM for usado antes disso, haverá o risco de causar uma exceção de tempo de execução no aplicativo.
Segurança do .NET Framework
- O aplicativo ou o UserControl exigirá confiança total para acessar o DOM do HTML gerenciado. Se você estiver implantando um aplicativo do Windows Forms usando o ClickOnce, poderá solicitar confiança total usando a Elevação de Permissão ou a Implantação de Aplicativo Confiável; consulte Protegendo aplicativos ClickOnce para obter detalhes.
Confira também
.NET Desktop feedback
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de