我要做一个功能,按下按钮一个显示DIV接着输入文字框在按下按钮B
以下是我的程式流程按下按钮时呼叫的webbrowser连结设为一个网页然后,
做InvokeMember(点击)的动作,
然后网页端会将原本隐藏的DIV做显示动作,
然后当DIV显示时会在做一次InvokeMember(点击进入)的动作但是却在div还没显示时,他就已经输入文字框和按下按钮了
我试着使用Thread.Sleep(20 *1000),但也无法解决註:如果把以上动作拆成三个,每一个动作用一个按钮来呼叫是可以执行的
(EX:
1,按下按钮时呼叫的webbrowser连结到一个网页
2,做的动作InvokeMember(点击进入)
3.DIV显示时会在做一次InvokeMember(点击进入)的动作)
请各位大大帮忙
以下是我的程式流程按下按钮时呼叫的webbrowser连结设为一个网页然后,
做InvokeMember(点击)的动作,
然后网页端会将原本隐藏的DIV做显示动作,
然后当DIV显示时会在做一次InvokeMember(点击进入)的动作但是却在div还没显示时,他就已经输入文字框和按下按钮了
我试着使用Thread.Sleep(20 *1000),但也无法解决註:如果把以上动作拆成三个,每一个动作用一个按钮来呼叫是可以执行的
(EX:
1,按下按钮时呼叫的webbrowser连结到一个网页
2,做的动作InvokeMember(点击进入)
3.DIV显示时会在做一次InvokeMember(点击进入)的动作)
请各位大大帮忙
解决方案 »
- winform程序开机自启动
- 在Winform中获取远程数据库服务器的时间
- 基本完工,散分:C# Mandelbrot和Julia分形图像生成程序2010-9-14版 支持多线程 多核处理器
- 求一个时间段内的数据查询语句
- C#中winform编程
- timer
- 在listView里怎样获取数据库里相对应的值??
- 图像处理是学vc6.0好vc.net好还是学C#好
- 在线等候。怎样知道绑定到DataGrid的DataTable中的某一行的DataRow对象在这个DataTable中是第几行?
- 如何不用PANEL,只用PICTUREBOX 可以有滚动条来显示较大的图片?
- C#WebBrowser怎样模拟鼠标移动到指定链接
- 时间点计算
好在.Net早已经封装好了,你在构造函数中注册事件处理
webbrowser1.DocumentCompleted += (obj, e) =>
{
if(e.Url.Equal(加载Div时的Url))
{
3.DIV显示时会在做一次InvokeMember(点击进入)的动作)
}
};
問題二
假如我的股息并没有另外产生新的呢URL?
或者产称的网址码是乱数呢
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
..................
..................
..................
hElemA.InvokeMember("Click");
Thread.Sleep(5 * 1000);
webBrowser1.DocumentCompleted += (obj,ee) =>
{
if(e.Url.Equals("http://localhost:59551/WebCrackCaptcha/index.aspx"))
}
重点是
webBrowser1.DocumentCompleted += (obj,ee) =>
{
if(e.Url.Equals("http://localhost:59551/WebCrackCaptcha/index.aspx"))
{
hElemA.InvokeMember("Click");
}
这两个e要一样,并且,最好把它放在Form的构造函数中,不要放在webBrowser1_DocumentCompleted,事件会多次处理,唉
谢谢,又学到一招,不过还是没解决,
我在全新的测试网站,他有输入讯息但是还是没显示DIV我在已经完成的对像网站,他没有输入讯息,也没显示DIV顺到一问,如果我按下的按钮时,他产生DIV时并没有产生新网址(URL)呢?
或者网址(URL)产生的编号是乱数呢??那该如何比较?
所以,除了要判断url是你要处理的页面,还要用Js判断一下Document中那个div是否显示了
js 大致是
var div = webBrowser1.Document.GetElementById("mydiv");
if(div.GetAttribute("readyState") == "complete" || div.GetAttribute("complete") == "true")
{
hElemA.InvokeMember("Click");
}
結果還是一樣
我的DIV裡面的GetAttribute("readyState")=complete
但是 div.GetAttribute("complete") 是空字串
甚至我還加了GetAttribute("display").Contains("")
結果還是一樣