尝试通过C#程序登录网站

an

我是C#的新手,所以我在其他问题中寻找了这个主题,但这些问题并不适合我。我正在尝试做的是我目前正在尝试使用ac#程序登录到学校的服务器(我正在尝试实现)。我想做的是知道页面的代码,所以我使用c#的网络浏览器进行导航,然后我只想在输入框中输入名称和密码,这就是我要坚持的地方。你能给我任何建议吗?

如果要查看页面:https : //suis.sabanciuniv.edu/prod/twbkwbis.P_SabanciLogin

感谢您的建议。

这是我如何使用代码(编辑:添加了事件处理程序,但这是我第一次使用它,因此提示我“对象引用未设置为对象的实例”):

            private void buttonGo_Click(object sender, EventArgs e)
    {
        try
        {
            string input = "https://suis.sabanciuniv.edu/prod/twbkwbis.P_SabanciLogin";


            webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted);

            webBrowser1.Navigate(input);
            HtmlDocument doc = webBrowser1.Document;
            HtmlElement userName = doc.GetElementById("UserID");
            HtmlElement pass = doc.GetElementById("PIN");
            HtmlElement submit = doc.GetElementById("Login");

            userName.SetAttribute("value", textID.Text);
            pass.SetAttribute("value", textPASS.Text);

            submit.InvokeMember("Click");

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        var webBrowser = sender as WebBrowser;
        webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted;
        MessageBox.Show(webBrowser.Url.ToString());
    } 
}

}

终于,我解决了我作弊但设法解决的问题。这是工作代码:

private void buttonGo_Click(object sender, EventArgs e)
        {
            try
            {
                string input = "https://suis.sabanciuniv.edu/prod/twbkwbis.P_SabanciLogin";


                webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted);

                webBrowser1.Navigate(input);

                HtmlDocument doc = webBrowser1.Document;
                //HtmlElement userName = doc.GetElementById("UserID"); These not worked because ID of the elements were hidden so they are here to show which of these did not work.
                //HtmlElement pass = doc.GetElementById("password");
                HtmlElement submit = webBrowser1.Document.Forms[0].Document.All["PIN"].Parent.Parent.Parent.NextSibling.FirstChild;

                //userName.SetAttribute("value", textID.Text);
                //pass.SetAttribute("value", textPASS.Text);




                webBrowser1.Document.Forms[0].All["UserID"].SetAttribute("value", textID.Text);
                webBrowser1.Document.Forms[0].All["PIN"].FirstChild.SetAttribute("value", textPASS.Text);
                submit.InvokeMember("Click");

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            var webBrowser = sender as WebBrowser;
            webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted;
            MessageBox.Show(webBrowser.Url.ToString());
        } 
DJ奥尔克

您需要首先找到用户名和密码字段的输入框作为ID或节点。然后按以下方式分配它们:

HtmlDocument doc = webBrowser1.Document;
HtmlElement email = doc.GetElementById("email");
HtmlElement pass = doc.GetElementById("pass");
HtmlElement submit = doc.GetElementById("LoginButton");

email.SetAttribute("value", "InsertYourEmailHere");
//Same for password

submit.InvokeMember("Click");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#登录网站

来自分类Dev

C#使用桌面应用程序自动登录网站

来自分类Dev

通过txt文件读取凭据,然后尝试登录c#?

来自分类Dev

C#自动登录网站

来自分类Dev

C#使用HTTPWebRequest登录网站

来自分类Dev

以编程方式使用C#登录网站

来自分类Dev

使用C#以编程方式登录网站

来自分类Dev

C#使用HTTPWebRequest登录网站

来自分类Dev

Windows登录与C#程序?

来自分类Dev

使用AWS Amplify通过网站登录到Chrome扩展程序

来自分类Dev

通过VBA登录网站

来自分类Dev

在C#WP8应用程序中的网站登录

来自分类Dev

无法通过请求登录网站

来自分类Dev

登录到需要使用C#的Cookies的网站

来自分类Dev

使用 HttpWebRequest 获取和发布登录网站 C# .Net

来自分类Dev

如何从IIS通过C#通过网站名称获取端口?

来自分类Dev

如何从IIS通过C#通过网站名称获取端口?

来自分类Dev

用于网站的Facebook登录应用程序只能通过VPN URL:10.0.0访问

来自分类Dev

尝试制作登录程序

来自分类Dev

尝试通过c#脚本创建多个游戏对象时,为什么我的统一程序冻结了?

来自分类Dev

我正在尝试通过将数据库连接到注册页面来创建登录网站

来自分类Dev

通过网站或数据库更新C#代码

来自分类Dev

我正在尝试通过 C# 代码访问共享点,但出现未授权访问错误,但我可以毫无问题地登录网络共享点

来自分类Dev

尝试通过互操作将C ++转换为C#

来自分类Dev

通过Powershell登录内部网站

来自分类Dev

通过登录网站进行python网络抓取

来自分类Dev

使用登录信息通过python抓取网站

来自分类Dev

通过其他网站登录 Gmail 帐户

来自分类Dev

如何通过 php curl 登录这个网站?

Related 相关文章

热门标签

归档