8

我需要以编程方式注册到站点。我是用 VB6(使用 IE Web 浏览器组件)完成的,但我不知道如何使用 WebBrowser 在网站上编辑文本框。我不需要用 Webbrowser 来做,只是我知道它可以用它来做。我只需要使用我的程序插入用户名、密码等。

谢谢

4

5 回答 5

3

尝试看看WATin。IT 将允许您从 C# 自动化浏览器。

它还有一个记录器,可以提供帮助。

您可以使用 HttpWebRequest,但如果开源组件 (Watin) 不是问题,则该任务将花费更少的时间来完成。

善良,

于 2009-10-02T11:38:23.470 回答
3

也看看 Watin 项目: http: //www.codeproject.com/KB/aspnet/WatiN.aspx

它更多地用于网络应用程序测试,但对于自动化网络表单,它具有开箱即用的强大功能。

对于更中性的解决方案,您可能还想查看:http ://seleniumhq.org/同样它是一个 Web 应用程序测试框架,但它对您想要的很有用。

HTH 亚历克斯

于 2009-10-02T11:40:03.747 回答
2

多亏了大家,我找到了如何使用 WebBrowser 但 WatiN 看起来更好。

    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.
于 2009-10-03T06:30:10.347 回答
1

您可以使用HttpWebRequest类和 POST 方法。

于 2009-10-02T11:38:16.450 回答
0

取决于是否总是找到具有您不想要的类值的第一个跨度,您可以使用标志跳过它

var variable = ie.Span(Find.ByClass("TheClass")).Text;
var x = 0;

if(variable != "" && x == 0){

var variable2=variable

}else{
x++
}

这样,您只在“variable2”中保留您想要的实际内容,您可以调整相同的代码以跳过第一个并保留第二个。而不是跳过第二个并保留第一个。对不起我的英语不好:c

于 2016-01-27T21:31:52.377 回答