webBrowser 弹出确定/取消窗口,如何实现自动点击确定

wurui130 2010-04-20 02:10:56
webBrowser 弹出确定/取消窗口,如何实现自动点击确定。我用了网上的// using mshtml;
// using SHDocVw;
private void Form1_Load( object sender, EventArgs e)
... {
this .webBrowser1.Navigate( " http://localhost:28512/WebSite2/Default.aspx " );
SHDocVw.WebBrowser wb = this .webBrowser1.ActiveXInstance as SHDocVw.WebBrowser;
wb.NavigateComplete2 += new SHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(wb_NavigateComplete2);

}

void wb_NavigateComplete2( object pDisp, ref object URL)
... {
mshtml.IHTMLDocument2 doc = ( this .webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).Document as mshtml.IHTMLDocument2;
doc.parentWindow.execScript( " function alert(str){return ''} " , " javascript " );
}
这个方法,没效果。
...全文
615 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
李文辉 2011-11-17
  • 打赏
  • 举报
回复
代码拿出来看看啊
wurui130 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 louti 的回复:]
不是吧 12层的那个行啊 我测试通过了的
[/Quote]

我去看了他的JS 才发现是用的 confirm 弹出来的 我直接给屏蔽了
wurui130 2010-04-21
  • 打赏
  • 举报
回复
谢谢louti的帮助,你的方法行不通。但是我问题我已经解决了,我是在webBrowser的Navigated事件里,把弹出窗口屏蔽了,但是有个问题就是屏蔽了这个窗口,会报一个脚本错误,但不影响功能···
louti 2010-04-21
  • 打赏
  • 举报
回复
挣你点分真不容易


试试这个


[DllImport("User32.dll", EntryPoint = "FindWindow")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]
private static extern IntPtr FindWindowEx(IntPtr hwndParent, uint hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", EntryPoint = "SendMessage", SetLastError = true, CharSet = CharSet.Auto)]
private static extern int SendMessage(IntPtr hwnd, uint wMsg, int wParam, string lParam);
//
string lpszParentWindow = "窗体标题";
IntPtr ParenthWnd = FindWindow(null, lpszParentWindow);
string lpszParentWindow = "Microsoft Internet Explorer";
IntPtr ParenthWnd = FindWindow(null, lpszParentWindow);
IntPtr hBtnOk = FindWindowEx(ParenthWnd, 0, null, "确定");
louti 2010-04-21
  • 打赏
  • 举报
回复
不是吧 12层的那个行啊 我测试通过了的
wurui130 2010-04-20
  • 打赏
  • 举报
回复

SetStiate("正在充值");
webBrowser3.Document.All["ibEnter"].InvokeMember("Click");
int WM_CLOSE = 0x010;
string lpszParentWindow = "Windows Ineternet Explorer";
int ParenthWnd = (int)FindWindow(null, lpszParentWindow);
if (ParenthWnd != null)
{
//向系统发送关闭窗体指令
int WndPr = SendMessage(ParenthWnd, WM_CLOSE, 0, 0);
}


webBrowser3.Document.All["ibEnter"].InvokeMember("Click");
这句话执行后,就弹出确认窗口,不处理确认窗口,下面的代码不会执行。
wurui130 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 louti 的回复:]
什么时候给分啊
[/Quote]
帖子里面的问题解决不了,没办法给啊··· 补充下,在窗口没处理前,下面的代码是不会执行的,所以得换一种思路啊····
louti 2010-04-20
  • 打赏
  • 举报
回复
什么时候给分啊
louti 2010-04-20
  • 打赏
  • 举报
回复
呵呵 分少了引不起注意
wurui130 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 louti 的回复:]
好像你的分太少了 哥哥
[/Quote]

唉 就最后20分了 谢谢帮忙啊
louti 2010-04-20
  • 打赏
  • 举报
回复
好像你的分太少了 哥哥
louti 2010-04-20
  • 打赏
  • 举报
回复
看看这个吧 别忘了给分
http://topic.csdn.net/u/20090331/14/a81f5dc3-dfe7-4ce4-a3fb-b93f8d3c30fb.html
wurui130 2010-04-20
  • 打赏
  • 举报
回复
Up·Up······ 大侠们 进来帮帮忙啊·
wurui130 2010-04-20
  • 打赏
  • 举报
回复
我是通过webBrowser 操作他人网站,比如说要点击充值时就会弹出确认信息,现在问题是如何自动点击确认按钮,然后继续后面操作。
zccmy22 2010-04-20
  • 打赏
  • 举报
回复
直接点击是什么意思呢?是根本不需要提示吗?那就不要提示好了。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧