2012-02-11 23 views

Respuesta

2

Si wbMain es su control WebBrowser1, haga lo siguiente.

Primero, necesita hacer una referencia a su elemento, digamos que desea acceder al primer enlace <A>, de su página, puede recorrer todo si lo desea.

Esto está en VB, pero es el mismo tipo de cosas en C#, solo una sintaxis diferente.

Dim i As Integer 
Dim aElement As HTMLAnchorElement = wbMain.Document.All.getElementByTagName("A")(0) 

For i = 0 To aElement.attributes.length - 1 
    MsgBox aElement.attributes.item(i).name & "=" & aElement.attributes.item(i).value 
Next i 

Este bucle a través de todos los atributos y mostrarlo en una MSGBOX en un formato name=value.

Si desea recuperarlo por su nombre (nombre de los atributos) simplemente llame usando aElement.getAttribute("target") para recuperar el valor de los atributos objetivo del enlace a.

Si quiere confirmar que tiene el objeto/elemento correcto, simplemente haga un aElement.outerHTML para obtener el código HTML completo solo para ese elemento.

Dado que estoy usando una versión de pre.NET, siéntase libre de cambiar la declaración de HTMLAnchorElement a IHTMLAnchorElement si le da problemas, por supuesto, puede usar IHTMLElement si desea revisar todos los elementos de una página, entonces todo lo que tendrá que hacer es wbMain.Document.All (0) para el primer elemento en una página, o bucle hasta .All.length - 1 para recorrer todo. Recuerde que si usa bucles For anidados, no lo use dos veces, use j para uno de ellos :).

Avíseme si esto responde su pregunta o si hay más que pueda hacer para ayudarlo con su problema.

2

puede utilizar para analizar HtmlAgilityPack documento HTML en caso u r u puede utilizar

var doc = new HtmlAgilityPack.HtmlDocument(); 
    doc.Load(FileName); 
    var node = doc.DocumentNode.SelectNodes("//NameofHtmlTag")[0]; 
    foreach (HtmlAgilityPack.HtmlAttribute attri in node.Attributes) 
    { 
     //iterate through attributes 
    }  
+0

Gracias por su respuesta, pero en este caso tengo que preservar la forma en que IE analiza el documento. Por esa razón, no puedo usar HAP. Estoy buscando una solución usando HTMLElement o código no administrado en el peor de los casos. – Devela

+0

@Deveta HTMLAgilityPack es desagradable, no recomendaría usarlo. –

+0

@Devela, ¿por qué no? – as9876

Cuestiones relacionadas