以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  网页登陆,及网页登陆后的操作,怎么在狐表中进行实现呢?即狐表制作项目,操作项目采集数据的同时,同时进行网页操作上传数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48732)

--  作者:李孝春
--  发布时间:2014/4/3 20:13:00
--  网页登陆,及网页登陆后的操作,怎么在狐表中进行实现呢?即狐表制作项目,操作项目采集数据的同时,同时进行网页操作上传数据

如何将网页内容上的东西读取后,在狐表中实现数据录入。

(网址为:http://58.42.245.146:8081/shzycj/ww/tologin.html

 

网页登陆,及网页登陆后的操作,怎么在狐表中进行实现呢?即狐表制作项目,操作项目采集数据的同时,同时进行网页操作上传数据。

 

登陆页源代码:及图附上 求大大们多多指导!

 

 


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

图片点击可在新窗口打开查看此主题相关图片如下:22.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:登陆页、登陆后页面、身份证信息采集页面源码.rar


--  作者:菲舍尔
--  发布时间:2014/4/4 1:28:00
--  

这个要对html有相当了解后,才能编写

 

一般的途径是这样的:

 

建一个webbrowser控件,通过webbroser控件调入网页,然后分析调入网页的内容,读写相关元素的内容,或调用相关元素的方法

 

 


--  作者:有点甜
--  发布时间:2014/4/4 12:13:00
--  

 你给的那个网址打不开,应该是绑定网卡了的。

 

 你的这个不难,就是需要读取和分析一下具体的网页,再操作。

 

 要靠自己的,因为弄起来是挺繁琐的一件事。

 

 参考下 http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=32808


--  作者:李孝春
--  发布时间:2014/4/8 11:41:00
--  首先感谢有点甜老师的关注
有点甜 老师提供的那地址我已经打开了,里面的代码我也仔细看过 但是还是有些无法下手。
我提供的网址没有绑定网卡 可以正常打开的 请打开看看 谢谢!

下面是BIN老师的全局函数部分:【红色部分对应怎么理解呢?】

Public lb As String \'定义一个全局变量作为标志,根据这个标志执行对应操作

Public Isgo As Boolean \'定义一个全局变量逻辑值,根据这个逻辑值判断是否继续进行运作

\'定义一个WebBrowser加载完成事件,(每当浏览器加载完成当前页面就会执行该事件)

Public Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)

If Isgo Then \'判断一下ISGO是否需要执行操作 如果是TRUE说明可以继续执行操作如果是FALSE说明已经执行完毕,或者点击了停止.

    Dim web As System.Windows.Forms.WebBrowser = sender \'把触发该事件的Sender转换为WebBrowser

    If web.ReadyState=System.Windows.Forms.WebBrowserReadyState.Complete\'由于加载完成事件会触发多次,分别为页面数据加载完成,DOM树加载完成.所以这里要判断一下.确保所有东西都加载完成再执行下面的操作

        Select Case lb \'分别根据LB标志的值来执行不同的操作

            Case "访问"

                If web.Document.Body.OuterHtml.Contains("javascript:Dv_Win_Modal.Open(\'login_win.asp?winaction=winlogin\',500,350);") Then \'判断一下当前页面的是否包含这串字符串(用来判断是否已经处于登录状态)

                    Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.GetElementsByTagName("a") \'获得当前页面的A标签HTML元素集合

                    For i As Integer = 0 To hec.Count-1 \'循环所有A标签

                        If hec(i).OuterHtml.Contains("javascript:Dv_Win_Modal.Open(\'login_win.asp?winaction=winlogin\',500,350);") Then \'判断该A标签是否包含这个字符串(如果包含说明该A标签是登录按钮)

                            hec(i).InvokeMember("click") \'执行该标签的点击方法,从而实现点击登录按钮

                            lb="登录"  \'把LB设置为"登录" 这样下一步就回执行Case "登录" 里面的代码

                            Exit For  \'既然已经找到了这个A标签,没有必须继续循环了.退出循环

                        End If

                    Next

                Else \'发现页面没有包含该字符串,说明没有登录按钮,处于已经登录状态

                    Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.GetElementsByTagName("a")  \'获得当前页面的A标签HTML元素集合

                    For i As Integer = 0 To hec.Count-1 \'循环所有A标签

                        If hec(i).OuterHtml.Contains("logout.asp") Then  \'判断这个A标签是否包含这个字符串,如果包含说明是退出登录按钮

                            hec(i).InvokeMember("click") \'执行该A标签的点击方法,从而实现点击退出按钮.

                            lb="访问" \'\'把LB设置为"登录" 这样下一步就回执行Case "访问" 里面的代码

                            Exit For

                        End If

                    Next

                End If

            Case "登录"

                web.Document.Window.Frames(1).Document.GetElementById("username").SetAttribute("Value","test138") \'获得第二个FrAMES框架里面的ID"username"的的HTML标签元素,并且将其Value设置为"test138"

                web.Document.Window.Frames(1).Document.GetElementById("pwd1").SetAttribute("Value","a110110") \'获得第二个FrAMES框架里面的ID"pwd1"的的HTML标签元素,并且将其Value设置为"a110110"

                \'如果元素不是在Frame框架中,那么直接 web.Document.GetElementById 即可

                \'如果元素没有ID怎么办? 按照上面的方法,获得指定类型的元素集合,然后循环判断是否包含该字段的方法来获得.

                \'下面的代码都大同小异,就不一一介绍了.

                Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.Window.Frames(1).Document.GetElementsByTagName("input")

                For i As Integer = 0 To hec.Count-1

                    If hec(i).OuterHtml.Contains("立即登录") Then

                        hec(i).InvokeMember("click")

                        lb="去精华板块"

                        Exit For

                    End If

                Next

            Case "去精华板块"

                web.Navigate("http://www.foxtable.com/bbs/index.asp?boardid=2&TopicMode=0&List_Type=6,0,0&page=")

                lb="查找帖子"

            Case "查找帖子"

                Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.GetElementsByTagName("a")

                For i As Integer = 0 To hec.Count-1

                    If hec(i).OuterHtml.Contains("不怕空袭的通用多选筛选树") Then

                        hec(i).InvokeMember("click")

                        lb="下载文件"

                        Exit For

                    End If

                Next

            Case "下载文件"

                Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.GetElementsByTagName("a")

                For i As Integer = 0 To hec.Count-1

                    If hec(i).OuterHtml.Contains("点击浏览该文件:多选筛选树.table") Then

                        hec(i).InvokeMember("click")

                        lb="下载文件"

                        Exit For

                    End If

                Next

                Isgo=False

        End Select

    End If

End If

End Sub


--  作者:有点甜
--  发布时间:2014/4/8 12:16:00
--  

 这种系统绝对是要绑定网卡使用的,别人是打不开的。

 

 简单来说,你必须看懂那些网页的结构,你也必须看懂webbrowser的操作。

 

 因为是较为繁琐的操作,楼主还是自己去研究一下吧,或者请别人远程帮你弄一下。

 

http://msdn.microsoft.com/zh-cn/library/system.windows.forms.htmldocument_members%28v=vs.80%29.aspx


--  作者:李孝春
--  发布时间:2014/4/10 11:37:00
--  求指导
求指导
--  作者:rootbook
--  发布时间:2014/4/24 15:25:00
--  

好强大哦


--  作者:hws005
--  发布时间:2014/4/24 15:55:00
--  
顶起,呼高手过来
--  作者:山水绿
--  发布时间:2016/4/23 21:42:00
--  

学习一下


--  作者:HUHSY
--  发布时间:2019/4/6 23:23:00
--  
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看