2010-10-07 60 views
0

我使用wininet从某些主页获取源代码,之后我分析了一些信息。我在Excel中使用VB来做到这一点。 所有这些工作正常,但现在我想从一个特殊的页面获取信息。由于“浏览器”中的URL链接而启动JavaScript函数

我必须打开此页面,然后单击一个链接以转到需要的信息。 我的问题是,这个链接是一个JavaScript函数。所以我的问题:是否有可能打开一边,并启动JavaScript功能,由于一个URL?

我用VB如下功能:

'API-Deklarationen: 
Private Declare Sub InternetCloseHandle Lib "wininet.dll" (_ 
    ByVal hInet As Long) 
Private Declare Function InternetOpenA Lib "wininet.dll" (_ 
    ByVal sAgent As String, ByVal lAccessType As Long, _ 
    ByVal sProxyName As String, ByVal sProxyBypass As String, _ 
    ByVal lFlags As Long) As Long 
Private Declare Function InternetOpenUrlA Lib "wininet.dll" (_ 
    ByVal hOpen As Long, ByVal sUrl As String, _ 
    ByVal sHeaders As String, ByVal lLength As Long, _ 
    ByVal lFlags As Long, ByVal lContext As Long) As Long 
Private Declare Sub InternetReadFile Lib "wininet.dll" (_ 
    ByVal hFile As Long, ByVal sBuffer As String, _ 
    ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) 

'Enumeration für Internet: 
Public Enum InternetOpenType 
    IOTPreconfig = 0 
    IOTDirect = 1 
    IOTProxy = 3 
End Enum 


Public s As String 

Public Function OpenURL(_ 
    ByVal URL As String, _ 
    Optional ByVal OpenType As InternetOpenType = IOTPreconfig _ 
) As String 
    Const INET_RELOAD = &H80000000 
    Dim hInet As Long 
    Dim hURL As Long 
    Dim Buffer As String * 2048 
    Dim Bytes As Long 

    'Inet-Connection öffnen: 
    hInet = InternetOpenA(_ 
     "VB-Tec:INET", OpenType, _ 
     vbNullString, vbNullString, 0) 
    hURL = InternetOpenUrlA(_ 
     hInet, URL, vbNullString, 0, INET_RELOAD, 0) 

    'Daten sammeln: 
    Do 
    InternetReadFile hURL, Buffer, Len(Buffer), Bytes 
    If Bytes = 0 Then Exit Do 
    OpenURL = OpenURL & Left$(Buffer, Bytes) 
    Loop 

    'Inet-Connection schließen: 
    InternetCloseHandle hURL 
    InternetCloseHandle hInet 
End Function 

回答