当前位置:编程学习 > VB >>

WebBrowser读取链接地址

近日玩了一个游戏,这里是他的开奖记录,我想用WebBrowser读取所有的记录,原想是找到所有的链接地址后模拟点击鼠标就可以了,可是这个网页的链接地址是JavaScript函数生成的,我想的方法就行不通了。http://www.pceggs.com/play/Pg28history.aspx

总之:如果想读取上述网页中5000个开奖记录,用webbrowser怎么自动读取?谢谢高手,我用VB做的。 --------------------编程问答-------------------- 重复了!? --------------------编程问答-------------------- webbrowser.Navigate "javascript:......" --------------------编程问答-------------------- 不管它,链接一样用,比如遍历所有页的记录并保存到文件中,代码如下:
Option Explicit

Dim m_nPage As Long

Private Sub Form_Load()
    m_nPage = 1
    Open "c:\开奖记录.txt" For Binary As #1
    Me.WebBrowser1.Navigate2 "http://www.pceggs.com/play/Pg28history.aspx"
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Close #1
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    Dim link As Object, table As HTMLTable
    Dim i As Long, j As Long, nStart As Long
    Dim byteLine() As Byte, strLine As String, strCell As String
    
    If URL <> "http://www.pceggs.com/play/Pg28history.aspx" Or m_nPage > 6981 Then Exit Sub
    '提取当前页数据
    Set table = Me.WebBrowser1.Document.All(125)
    nStart = IIf(m_nPage = 1, 0, 1)
    For i = nStart To table.rows.length - 2
        strLine = ""
        For j = 0 To table.rows(i).cells.length - 1
            If j = 2 And i > 0 Then '转换图片为数字
                strCell = table.rows(i).cells(j).innerHTML
                strCell = Mid(strCell, 63)
                strCell = Left(strCell, InStr(strCell, ")") - 1)
                strCell = Replace(Replace(strCell, "'", ""), ",", "")
            Else
                strCell = table.rows(i).cells(j).innerText
            End If
            strLine = strLine & vbTab & strCell
        Next
        strLine = Mid(strLine, 2) & vbCrLf
        byteLine = StrConv(strLine, vbFromUnicode)
        Put #1, , byteLine
        Debug.Print strLine
    Next
    '跳转到下一页
    m_nPage = m_nPage + 1
    For Each link In Me.WebBrowser1.Document.links
        If link.href = "javascript:onsubmit(" & m_nPage & ");" Then
            link.Click
            Exit For
        End If
    Next
End Sub

--------------------编程问答-------------------- --------------------编程问答-------------------- 顶贴 --------------------编程问答-------------------- 用正则表达式应该可以更好更快得到您需要的代码记录。朋友试试看 --------------------编程问答-------------------- 最近想用VB编写一个小程序,自动GOOGLE以下网点:
http://www.google.com/finance/stockscreener#c0=MarketCap&c1=PE&c2=DividendYield&c3=Price52WeekPercChange®ion=us§or=AllSectors&sort=&sortOrder=

右下方的箭头按钮(以查看另20个结果),可是搞定,敬请高手指教!

HTML Code:
<DIV class=tpbd closure_hashCode_f042o7="42">
<DIV class=SP_arrow_next></DIV></DIV>
<DIV class=tpsd>21 - 40 of 2658 rows</DIV>
<DIV class=tpbd closure_hashCode_f042o7="41">
<DIV class=SP_arrow_previous></DIV></DIV>
<DIV class=tpbd closure_hashCode_f042o7="40">
<DIV class=SP_arrow_first></DIV></DIV><SELECT class=tpdd 
closure_hashCode_f042o7="39"><OPTION value=10>10</OPTION><OPTION selected 
value=20>20</OPTION><OPTION value=30>30</OPTION></SELECT>
<DIV class=tpsrd>Show rows:</DIV>
补充:VB ,  网络编程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,