GetElementsByTagName dans Htmlagilitypack
Comment puis-je sélectionner un élément, par exemple zone de texte si je ne connais pas son id?
Si je sais que son id alors je peux tout simplement écrire:
HtmlAgilityPack.HtmlNode node = doc.GetElementbyId(id);
Mais je ne sais pas textbox ID et je ne trouve pas la méthode GetElementsByTagName dans HtmlagilityPack qui est disponible dans le contrôle webbrowser.
Dans le contrôle de navigateur web j'ai pu avoir simplement écrit:
HtmlElementCollection elements = browser[i].Document.GetElementsByTagName("form");
foreach (HtmlElement currentElement in elements)
{
}
MODIFIER
Voici le formulaire HTML je parle
<form id="searchform" method="get" action="/test.php">
<input name="sometext" type="text">
</form>
Veuillez noter que je ne connais pas l'ID de la forme. Et il peut y avoir plusieurs formulaires sur la même page. La seule chose que je sais, c'est "sometext" et je veux obtenir de cet élément en utilisant juste ce nom. Donc je suppose que je vais avoir à analyser toutes les formes, un par un, et puis trouver ce nom "sometext" mais comment dois-je faire?
source d'informationauteur Ali
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à la recherche pour le tag par son nom de balise (comme
form
pour<form name="someForm">
), alors vous pouvez utiliser:Si vous êtes à la recherche pour le tag par son nom de propriété (comme
someForm
pour<form name="someForm">
alors vous pouvez utiliser:Pour le dernier, vous pouvez créer une simple extension de la méthode:
Remarque: Vous pouvez également utiliser
SelectNodes
et XPath pour interroger votre document:Serait de vous donner toutes les entrées sur la page dans une balise de formulaire.
Serait de vous donner toutes les entrées de la première formulaire sur la page
Je pense que vous êtes à la recherche de quelque chose comme cela
N'importe quel nœud par son nom:
Nœuds d'entrée par nom: