如何向WebBrowser1加载的网页模拟对话框“确定”点击?
用WebBrowser加载一个网页:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
</head>
<body>
<script language="javascript">
alert("OK");
</script>
</body>
</html>
这个网页加载后会弹出一个“确定”的对话框。
我在VB6中这样写代码:
Private Sub Command5_Click()
Timer1.Interval=1000
Timer1.Enabled = True
WebBrowser1.Navigate App.Path & "\page.htm"
End Sub
Private Sub Timer1_Timer()
Debug.Print "SendKey"
SendKeys "{ENTER}"
Debug.Print "EndKey"
Timer1.Enabled = False
End Sub
目的是想当网页被加载,网页的对话框弹出后,程序能模拟人点击Webbrowser1中网页中的“确定”按钮。但是我发现,当
WebBrowser1.Navigate App.Path & "\page.htm"一句执行后,只有当人为点击的网页弹出的对话框(Javascript中的alert函数)中的“确定”时,Timer1_Timer的代码才被执行。
那么怎么才能用WebBrowser加载一个有弹出提示框的网页后,能让程序模拟实现“确定”点击?
[最优解释]
用FindWindow找到Microsoft Internet Explorer子窗口
然后 用:GetParent找到这个窗口的父窗口
再用GetWindowText找到父窗口的字符串
判断是否是自己主程序的窗口
如果是
SendMessage(WM_CLOSE)
[其他解释]