C# Visual C# - Interazioni Web

Stato
Discussione chiusa ad ulteriori risposte.

Lorenzo221

Utente Silver
8 Agosto 2013
59
17
4
63
Salve a tutti,
avrei una domanda riguardante le interazioni che può avere una pagina web con un programma in Visual C#.
Premetto che non sono sicurissimo riguardo alla scelta della sezione in cui porre questa domanda in quanto stò parlando dell'ambiente di sviluppo Visual Studio, non del classico C# con cui fare programmi console.
L'idea è questa: una textbox dove l'utente inserisce l'url di un video di Youtube e preme un bottone che trasforma un label vuoto nel titolo del video ed un altro nella descrizione.
Tutti le pagine di Youtube contenenti un video, hanno come id del titolo: "eow-title", percui ho pensato di fare:
webBrowser1.Document.GetElementById("eow-title");
evidentemente però manca qualcosa in quanto nonostante sia eseguibile non da il risultato sperato.
Inoltre volevo chiedere: Esiste un metodo analogo per elementi HTML privi di nome o id?
Grazie per l'attenzione.
 
Ultima modifica:
La funzione è giusta però ti restituisce l'elemento con quell'id (quindi penso un h1) probabilmente ciò che ti serve lo ottieni facendo webBrowser1.Document.GetElementById("eow-title").innerHtml; se anche così non funziona prova .innerText oppure inserisci un break point dopo che la variabie assumerà webBrowser1.Document.GetElementById("eow-title") per vedere cosa contiene realmente. (Questa supposizione deriva dal fatto che la pagina web sia stata precedentemente caricata). Puoi trovare un elemento anche attraverso la sua classe ecco a te la funzione generica:
C#:
var elementi=webBrowser1.Document.GetElementByTagName("elemento html con la classe da trovare quindi per esempio a h1 p");
Foreach(Htmlelement elemclasse in elementi)
{
if(elemclasse.GetAttribute("classname")=="tua classe")
{
//istruzioni da eseguire
}
}
 
  • Mi piace
Reazioni: Lorenzo221
Ultima modifica:
Sono riuscito a far funzionare tutto grazie all'ultimo costrutto foreach.
Grazie mille
 
Stato
Discussione chiusa ad ulteriori risposte.