在用VB.NET截获IE会话后,如何使用它
很抱歉,以前的文章中已经讨论过这一点,但我觉得它们可能有点过时了,因为VB.Net的当前迭代不再使用Set选项 我一直在努力解决这个问题,但一直在苦苦挣扎 我的问题是:我正在构建一个应用程序来自动化一些繁琐的任务。这涉及到多个IE会话,我在它们自己的webbrowser控件中工作。其中一个,但我得到一个点,然后它想启动一个新的Internet explorer窗口弹出窗口。我一直在尝试使用newwindow事件来玩它,但没有成功 下面是我试图用来捕获弹出窗口的代码:在用VB.NET截获IE会话后,如何使用它,vb.net,internet-explorer,Vb.net,Internet Explorer,很抱歉,以前的文章中已经讨论过这一点,但我觉得它们可能有点过时了,因为VB.Net的当前迭代不再使用Set选项 我一直在努力解决这个问题,但一直在苦苦挣扎 我的问题是:我正在构建一个应用程序来自动化一些繁琐的任务。这涉及到多个IE会话,我在它们自己的webbrowser控件中工作。其中一个,但我得到一个点,然后它想启动一个新的Internet explorer窗口弹出窗口。我一直在尝试使用newwindow事件来玩它,但没有成功 下面是我试图用来捕获弹出窗口的代码: Shared Functio
Shared Function IEWindowFromTitle(sTitle As String) As SHDocVw.InternetExplorer
Dim objShellWindows As New SHDocVw.ShellWindows
Dim win As Object, rv As SHDocVw.InternetExplorer
For Each win In objShellWindows
If TypeName(win.Document) = "HTMLDocument" Then
If UCase(win.Document.Title) = UCase(sTitle) Then
rv = win
Exit For
End If
End If
Next
IEWindowFromTitle = rv
End Function
我试着用以下方式来称呼它:
Shared Sub thissubmakesmeasadpanda()
Dim w As SHDocVw.InternetExplorer
w = IEWindowFromTitle("Address Search")
If Not w Is Nothing Then
Debug.WriteLine(w.Document.Title)
Else
Debug.WriteLine("Not found")
End If
End Sub
运行此操作时,我似乎遇到了一个错误,尽管错误是:
Microsoft.VisualBasic.dll中发生类型为“System.Runtime.InteropServices.COMException”的未处理异常
附加信息:未指定的错误(HRESULT的例外情况:
0x80004005(E_失败))
最近我在这里尝试了很多不同的帖子,现在我有点不知所措
及
最后需要完成一些任务,例如将信息填入文本框,然后单击搜索按钮,然后单击结果
当你点击结果时,它会出现一个确认框,它不是ie窗口,我会把它描述得更像是一个msgbox类型的元素,要求确认导入细节。单击“确定”后,在弹出窗口中执行的操作将下载到启动新浏览器的webcontrol中。
请注意,在我手动完成任务之前,我已经构建了应用程序。我尝试使用newwindow事件使用浏览器打开一个新表单并将其导航到目标URL,但是当我手动填充文本框并单击时,没有任何内容被发送回原始webbrowser控件
非常感谢您的帮助。我尝试使用的网站是一个内部网站,因此我无法自由分享