8
votes

Comment faire un bot Web? (ou quelque chose)

Je dois m'inscrire à un site par programme. Je l'ai fait avec VB6 (en utilisant le composant de navigateur Web IE), mais je ne sais pas comment éditer des zones de texte sur un site Web à l'aide de WebBrowser. Je n'ai pas besoin de le faire avec WebBrowser, c'est juste que je sais que cela peut être fait avec elle. J'ai juste besoin d'insérer un nom d'utilisateur, un mot de passe, etc. à l'aide de mon programme.

merci


1 commentaires

Par "ou quelque chose" "Voulez-vous dire:" Je veux faire un "web bot", ou vraiment, tout ce que d'autre fera "? Si tel est le cas, supprimez une zone de texte sur un formulaire, faites-la de la multiligne et de la quai, et vous avez un knockoff d'El Toasto Notepad sans chargement ni de sauvegarde. C'est quelque chose de toute façon ...


5 Réponses :


1
votes

Vous pouvez utiliser httpwebrequest classe et post Méthode.


0 commentaires

3
votes

Essayez de regarder watin . Cela vous permettra d'automatiser un navigateur de C #.

Il a également un enregistreur qui peut être utile.

Vous pouvez utiliser httpwebrequest, mais si un composant open-source (WATIN) n'est pas un problème, la tâche prendra beaucoup de temps à atteindre.

gentillesse,

DAN


1 commentaires

At-il un enregistreur intégré? Ive vu d'autres projets qui ajoutent cette fonctionnalité



3
votes

Regardez également le projet WATIN: http: //www.codeproject. com / kb / aspnet / watin.aspx

Il est plus utilisé pour les tests d'applications Web, mais pour automatiser les formulaires Web, il possède d'excellentes fonctionnalités de la boîte.

Pour une solution plus neutre, vous pouvez également vouloir vérifier: http://seleniumhq.org/ à nouveau C'est un cadre de test d'application Web, mais c'est utile pour ce que vous voulez.

hth Alex


1 commentaires

Maintenant, Watin ne prend pas en charge les dernières versions des navigateurs. Y a-t-il un autre produit très similaire à WATIN? Merci



2
votes

Merci à tout, j'ai trouvé comment le faire avec WebBrowser, mais Watin a l'air mieux.

    webBrowser1.Navigate("http://www.somewebsite.com/register.php");
    //Wait until website is loaded
    do
    {
        Application.DoEvents();
    }
    while (webBrowser1.IsBusy == true);
    webBrowser1.Document.GetElementById("username"
        ).SetAttribute("value", textBox1.Text);
    //etc.


0 commentaires

0
votes

dépend si la première portée avec la valeur de la classe que vous ne voulez pas, il a toujours été trouvé seconde, vous pouvez le sauter à l'aide d'un drapeau xxx

de cette façon de garder la chose que tu veux dans "variable2" u pourrait adapter le même code pour ignorer le premier et garder la seconde. au lieu de sauter le second et de garder le premier. Désolé pour mon mauvais anglais: C


0 commentaires