用c#写的个能到时间自动填写网页的程序。
但遇到问题:是winform用webBrowser做的。网页上的“用户名”这项,在winform上正常的点击按钮“button1”能顺利执行,但放到System.Timers中去执行的时候,就报错了。先贴上代码: public partial class Form1 : Form
{
Element el = new Element(); System.Timers.Timer t = new System.Timers.Timer(1000); //设置时间间隔为1秒
System.EventArgs ab = null;
object ss = null; public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e) //form载入
{
webBrowser1.Navigate("https://login.taobao.com/");
t.Elapsed += new System.Timers.ElapsedEventHandler(Timer_TimesUp);
t.AutoReset = false; //每到指定时间Elapsed事件触发一次
} //下面这个是正常的点击按钮“button1”,能正常执行
private void button1_Click(object sender, EventArgs e)
{
HtmlElement eq = webBrowser1.Document.All["TPL_username"];
eq.SetAttribute("value", "damao1977");
} private void btnStart_Click(object sender, EventArgs e) //自动执行按钮
{
t.Enabled = true; //是否触发Elapsed事件
t.Start();
}
//timer应该执行的事件,和上面的“button1”的完全一样,但就是报错
private void Timer_TimesUp(object sender, System.Timers.ElapsedEventArgs e)
{
HtmlElement eq = webBrowser1.Document.All["TPL_username"];
eq.SetAttribute("value", "damao1977");
}
}
小弟新手,请高手帮忙看一下,非常感谢
但遇到问题:是winform用webBrowser做的。网页上的“用户名”这项,在winform上正常的点击按钮“button1”能顺利执行,但放到System.Timers中去执行的时候,就报错了。先贴上代码: public partial class Form1 : Form
{
Element el = new Element(); System.Timers.Timer t = new System.Timers.Timer(1000); //设置时间间隔为1秒
System.EventArgs ab = null;
object ss = null; public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e) //form载入
{
webBrowser1.Navigate("https://login.taobao.com/");
t.Elapsed += new System.Timers.ElapsedEventHandler(Timer_TimesUp);
t.AutoReset = false; //每到指定时间Elapsed事件触发一次
} //下面这个是正常的点击按钮“button1”,能正常执行
private void button1_Click(object sender, EventArgs e)
{
HtmlElement eq = webBrowser1.Document.All["TPL_username"];
eq.SetAttribute("value", "damao1977");
} private void btnStart_Click(object sender, EventArgs e) //自动执行按钮
{
t.Enabled = true; //是否触发Elapsed事件
t.Start();
}
//timer应该执行的事件,和上面的“button1”的完全一样,但就是报错
private void Timer_TimesUp(object sender, System.Timers.ElapsedEventArgs e)
{
HtmlElement eq = webBrowser1.Document.All["TPL_username"];
eq.SetAttribute("value", "damao1977");
}
}
小弟新手,请高手帮忙看一下,非常感谢
建议断点调试,查看一下TPL_username的值
private void Form1_Load(object sender, EventArgs e) //form载入
{
t.Stop();
webBrowser1.Navigate("https://login.taobao.com/");
webBrowser1.DocumentCompleted += (o, args) => t.Start();
t.Elapsed += (o, args) => BeginInvoke(new Action(() => Timer_TimesUp(o, args)));
t.AutoReset = false; //每到指定时间Elapsed事件触发一次
}
也谢谢大家热情相助,这里真是个好地方。