Запуск функции JavaScript из-за URL-ссылки в «Браузере» - PullRequest
0 голосов
/ 07 октября 2010

Я использую wininet для получения исходного кода с некоторых домашних страниц, а затем анализирую его для получения некоторой информации.Я использую VB в Excel, чтобы сделать это.Все это работает нормально, но теперь я хочу получить информацию со специальной страницы.

Мне нужно открыть эту страницу и щелкнуть ссылку, чтобы перейти на ту сторону с требуемой информацией.Моя проблема в том, что эта ссылка является функцией 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 

1 Ответ

0 голосов
/ 08 октября 2010

Это должно быть возможно. Попробуйте использовать InternetExplorer-Control, он предоставляет все необходимое: умение ориентироваться и писать сценарии-доступ к документу.

InternetExplorer-Control

Документ-недвижимости

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...