应用程序在运行时崩溃
本文关键字:崩溃 运行时 应用程序 | 更新日期: 2023-09-27 18:15:45
下面是我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MafiaspilletBot
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.Navigate("http://mafiaspillet.no/");
webBrowser1.ScriptErrorsSuppressed = true;
}
private void button1_Click(object sender, EventArgs e)
{
SendData();
}
private void SendData()
{
webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("brukernavn")[0].SetAttribute("value", textBox2.Text);
webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("passord")[0].SetAttribute("value", textBox1.Text);
System.Threading.Thread.Sleep(5000);
webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("login_buton")[0].InvokeMember("click");
System.Threading.Thread.Sleep(10000);
DoKrims();
}
private void DoKrims()
{
webBrowser1.Navigate("http://mafiaspillet.no/kriminalitet3.php");
System.Threading.Thread.Sleep(10000);
webBrowser1.Document.GetElementById("submit").InvokeMember("click");
}
}
}
但是每次我运行它并在应用程序中填充textBox1
和textBox2 and submit them throu
时,整个窗口就停止工作。我的代码中是否有任何东西会导致这个问题,或者我可以做些什么来摆脱这个问题?此外,我从来没有使用过c#,这是我第一次用c#制作和完成,因为我认为学习c#会很有趣。无论如何,要加载的网站使用大量的javascript,我找不到一种方法让webBrowser1
使用它们,所以我使用webBrowser1.ScriptErrorsSuppressed = true;
忽略错误消息。
据我所知,您正在使用:
System.Threading.Thread.Sleep(5000);
System.Threading.Thread.Sleep(10000);
System.Threading.Thread.Sleep(10000);
这将使您的应用程序在每次执行button1_Click
时无响应25秒。它会发生,因为它是由一个线程处理的。为了避免它,尝试在单独的线程中执行SendData()
。
简单的例子是:
Thread SendThread = new Thread(SendData);
SendThread.Start();
你可以尝试在这里读取线程运行simple thread