Foxtable(狐表)用户栏目专家坐堂 → [求助]【已解决】用Foxtable向网页写入数据


  共有4660人关注过本帖树形打印复制链接

主题:[求助]【已解决】用Foxtable向网页写入数据

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


加好友 发短信
等级:小狐 帖子:304 积分:2684 威望:0 精华:0 注册:2011/10/29 16:26:00
  发帖心情 Post By:2019/7/5 12:24:00 [只看该作者]

以上代码运行后出现:

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


 回到顶部
帅哥哟,离线,有人找我吗?
jjjeyes
  72楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2684 威望:0 精华:0 注册:2011/10/29 16:26:00
  发帖心情 Post By:2019/7/5 14:11:00 [只看该作者]

还是显示定义错误

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  73楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/5 14:23:00 [只看该作者]

试试,还不行我也没有办法了

Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("webbrowser1").basecontrol
Dim trs = web.Document.Window.Frames("frm1").Document.GetElementsByTagName("tr")
For Each tr As object In trs
    Dim id As String = tr.getAttribute("id")
    If id > "" AndAlso id Like "tr*"
        Dim idx As Integer = val(id.SubString(2))
        Dim ip1 = web.Document.Window.Frames("frm1").Document.GetElementsByid("oldcjbzdm" & idx)
        Dim xhw As String = ip1.Parent.innerText
        msgbox("学号:" & xhw)
        Dim dr As DataRow = DataTables("成绩表").Find("学号 = '" & xhw & "'")
        If dr IsNot Nothing Then
            Dim ip2 = web.Document.Window.Frames("frm1").Document.GetElementsByid("cj" & idx & "|0")
            msgbox("平时成绩:" & ip2.GetAttribute("value"))
            ip2.SetAttribute("value", dr("平时成绩"))
        End If
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
jjjeyes
  74楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2684 威望:0 精华:0 注册:2011/10/29 16:26:00
  发帖心情 Post By:2019/7/5 14:26:00 [只看该作者]

提示:

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


 回到顶部
帅哥哟,离线,有人找我吗?
jjjeyes
  75楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2684 威望:0 精华:0 注册:2011/10/29 16:26:00
  发帖心情 Post By:2019/7/5 14:34:00 [只看该作者]

是否可以,不用tr层去循环,直接从input层去循环?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  76楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/5 14:48:00 [只看该作者]

GetElementsByid
改为
GetElementById

 回到顶部
帅哥哟,离线,有人找我吗?
jjjeyes
  77楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2684 威望:0 精华:0 注册:2011/10/29 16:26:00
  发帖心情 Post By:2019/7/5 14:55:00 [只看该作者]

可以了,终于可以了。太棒了!!!!
十分感谢,后面我自己来处理!谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
jjjeyes
  78楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2684 威望:0 精华:0 注册:2011/10/29 16:26:00
  发帖心情 Post By:2019/7/5 16:05:00 [只看该作者]

总结:
最后用以下方式可将Foxtable中的成绩写入到网页中。
需根据不同网页分析网页结构,找准循环方式。
再次感谢蓝老师和甜老师的帮忙。
Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("webbrowser1").basecontrol
Dim trs = web.Document.Window.Frames("frm1").Document.GetElementsByTagName("tr")
Dim Inputs = web.Document.Window.Frames("frm1").Document.GetElementsByTagName("input")
For Each tr As object In trs
    Dim id As String = tr.getAttribute("id")
    If id > "" AndAlso id Like "tr*"
        Dim idx As Integer = val(id.SubString(2))
        Dim ip1 = web.Document.Window.Frames("frm1").Document.GetElementById("oldcjbzdm" & idx)
        Dim xhw As String = ip1.Parent.innerText
        'msgbox("学号:" & xhw)
        Dim dr As DataRow = DataTables("成绩表").Find("学号 = '" & xhw & "'")
        If dr IsNot Nothing Then
            Dim ip2 = web.Document.Window.Frames("frm1").Document.GetElementById("cj" & idx & "|0")
            'msgbox("平时成绩:" & ip2.GetAttribute("value"))
            ip2.SetAttribute("value", dr("平时成绩"))
            Dim ip3 = web.Document.Window.Frames("frm1").Document.GetElementById("cj" & idx & "|1")
            'msgbox("平时成绩:" & ip2.GetAttribute("value"))
            ip3.SetAttribute("value", dr("期末考试"))
        End If
    End If   
Next
For Each Input As object In Inputs
Input.focus() '焦点定位,模拟按键,触发写入值有效
Next

 回到顶部
总数 78 上一页 1 2 3 4 5 6 7 8