Foxtable(狐表)用户栏目专家坐堂 → [求助]代码黏贴


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

主题:[求助]代码黏贴

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/20 9:41:00 [显示全部帖子]

关闭项目,删除bin文件夹,重新打开重新粘贴看看。

 

如果不行,把代码发上来。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/20 11:34:00 [显示全部帖子]

 我测试并没有问题。你卸载重新安装一下foxtable看看。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/20 14:57:00 [显示全部帖子]

关闭项目,删除项目的bin文件夹,重新打开重新

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/20 17:48:00 [显示全部帖子]

以下是引用有点色在2016/12/20 14:57:00的发言:
关闭项目,删除项目的bin文件夹,重新打开重新

 

新建一个项目也不行?

[此贴子已经被作者于2016/12/20 17:48:57编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/21 10:33:00 [显示全部帖子]

直接把这段,放进去就行

 

'Dim web As System.Windows.Forms.WebBrowser = sender '把触发该事件的Sender转换为WebBrowser
If web.ReadyState=System.Windows.Forms.WebBrowserReadyState.Complete AndAlso Isgo Then '由于加载完成事件会触发多次,分别为页面数据加载完成,DOM树加载完成.所以这里要判断一下.确保所有东西都加载完成再执行下面的操作
    
    web.Document.Body.Children(0).OuterHtml=web.Document.Body.Children(0).OuterHtml.replace(Forms("文件搜索").controls("TextBox2").text,"<Span Style=""Color:Red;background-color:yellow;"" >" & Forms("文件搜索").controls("TextBox2").text & "</Span>")
    Isgo=False
End If

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/21 11:17:00 [显示全部帖子]

 放到 sub 里面

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/21 11:34:00 [显示全部帖子]

放在sub里面啊。
 
Public Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)

 

 

End Sub


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/21 12:04:00 [显示全部帖子]

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树加载完成.所以这里要判断一下.确保所有东西都加载完成再执行下面的操作
       
        web.Document.Body.Children(0).OuterHtml=web.Document.Body.Children(0).OuterHtml.replace(Forms("文件搜索").controls("TextBox2").text,"<Span Style=""Color:Red;background-color:yellow;"" >" & Forms("文件搜索").controls("TextBox2").text & "</Span>")
        Isgo=False
       
        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","风声") '获得第二个FrAMES框架里面的ID为"username"的的HTML标签元素,并且将其Value设置为"test138"
                web.Document.Window.Frames(1).Document.GetElementById("pwd1").SetAttribute("Value","wen62rong") '获得第二个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


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/22 10:16:00 [显示全部帖子]

 可以修改。修改以后,你其余的代码也要改错对应的名字。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/22 11:25:00 [显示全部帖子]

 可以删除的啊。什么问题?

 回到顶部
总数 14 1 2 下一页