Foxtable(狐表)用户栏目专家坐堂 → [求助]模拟按钮,出现重复值(已解决)


  共有2383人关注过本帖平板打印复制链接

主题:[求助]模拟按钮,出现重复值(已解决)

帅哥哟,离线,有人找我吗?
yyzlxc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]模拟按钮,出现重复值(已解决)  发帖心情 Post By:2021/3/6 19:14:00 [只看该作者]

下载基金的代码,出现重复值,可能是模拟按钮代码的问题,如何解决,请各位老师指教,谢谢!


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.foxdb




图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看


代码如下:

DataTables("表A").DataRows.Clear()
Dim sr As String = Format(Date.Today(), "yyyyMMdd")
Dim zr As String = Format(Date.Today(), "yyyyMMdd")
Dim web As New System.Windows.Forms.WebBrowser()
web.ScriptErrorsSuppressed = True
web.Navigate("http://fund.eastmoney.com/data/fundranking.html#tall;c0;r;s6yzf;pn50;ddesc;qsd" & sr & ";qed" & zr & ";qdii;zq;gg;gzbd;gzfs;bbzt;sfbb")
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementsByTagName("table").count > 0
    Application.DoEvents
Loop
Dim trs1 As object = web.Document.GetElementById("pagebar").GetElementsByTagName("label") '共页码
Dim n1 As Integer = trs1(6).InnerText
For n2 As Integer = 1 To n1
    Dim elems As object = web.Document.GetElementById("pagebar").GetElementsByTagName("label") '共页码
    Dim sdt As Date = Date.Now
    While Date.Now < sdt.AddSeconds(0.1)
        Application.DoEvents
    End While
    For Each elem As object In elems
        If elem.InnerText = "下一页" Then
            elem.InvokeMember("click")
        End If
    Next
    Dim trs2 As object = web.Document.GetElementById("dbtable").GetElementsByTagName("tr") '表
    Dim sdt1 As Date = Date.Now
    While Date.Now < sdt1.AddSeconds(0.1)
        Application.DoEvents
    End While
    For i As Integer = 1 To trs2.count - 1
        Dim tds1 = trs2(i).GetElementsByTagName("td") '数据
        Dim tds2 = trs2(i).GetElementsByTagName("a") '代码名称
        Dim dr As Row = Tables("表A").AddNew()
        dr("第一列") = tds2(0).InnerText '基金代码
        dr("第二列") = tds2(1).InnerText '基金简称
        dr("第三列") = tds1(4).InnerText '日期
        dr("第四列") = tds1(5).InnerText '单位净值
        dr("第五列") = tds1(6).InnerText '累计净值
        dr("第六列") = tds1(7).InnerText '日增长率
        dr.Save()
    Next
Next
[此贴子已经被作者于2021/3/9 22:01:22编辑过]

 回到顶部