Foxtable(狐表)用户栏目专家坐堂 → 如何操作这个网页的添加到选号车按钮


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

主题:如何操作这个网页的添加到选号车按钮

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


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
如何操作这个网页的添加到选号车按钮  发帖心情 Post By:2015/8/9 9:09:00 [只看该作者]

网页是 http://www.newrank.cn/public/info/search.html  这网页在里面搜索公众微信号,然后点击添加到选号车,这是我的目标。但好像我的代码htme.children(0).firstchild.children(1).firstchild.invokemember("click")  不行

 

Dim htme,htmaccount As System.Windows.Forms.HtmlElement
Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("WebBrowser1").BaseControl
Dim enc As String
web.Navigate("http://www.newrank.cn/public/info/search.html")
Do While web.ReadyState <> 4
    messagebox.show("等待加载,有没有办法,不用这个messagebox来人工判断是否加载完成")
    Application.DoEvents
Loop
htmaccount = web.Document.getelementbyid("txt_account")
If htmaccount IsNot Nothing Then
        htmaccount.Innertext = "旅游"    '填入搜索关键字 
htme = web.Document.getelementbyid("btn_search") '找到搜索按钮
    'messagebox.show("点击搜索目标")
    htme.Invokemember("click")  '自动点击搜索按钮
    messagebox.show("等待搜索,有没有办法,不用这个messagebox来人工判断是否搜索完成")
    htme = web.Document.getelementbyid("result_list")  '找到网页结果栏
    If htme.children.count  = 0  Then
        'messagebox.show( "没有找到该公众号"  )
    Else
        'enc= htme.children(0).firstchild.firstchild.children(1).Innerhtml
        enc= htme.children(0).firstchild.children(1).innerhtml
        messagebox.show(enc)
        If enc.Contains("已") Then
            'messagebox.show("该公众号已经在库")
        Else  '点击添加到选号车按钮,添加该公众号到你的购物车,该按钮在鼠标没移动过去时候,是不会显示的
            messagebox.show(enc,"正在添加"& htme.children(0).firstchild.children(1).firstchild.tagname)
            htme.children(0).firstchild.focus()  '此语句无效
            htme.children(0).firstchild.children(1).firstchild.invokemember("click")  '此语句无效 有没有办法直接执行 A href的script呢
           
        End If
    End If
End If

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:操作网页脚本.foxdb


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/9 10:13:00 [只看该作者]

mark 如下代码,细节自己调整

 

Dim htme,htmaccount As System.Windows.Forms.HtmlElement
Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("WebBrowser1").BaseControl
Dim enc As String
web.Navigate("http://www.newrank.cn/public/info/search.html")
Do While web.ReadyState <> 4
    Application.DoEvents
Loop
htmaccount = web.Document.getelementbyid("txt_account")
If htmaccount IsNot Nothing Then
    htmaccount.Innertext = "旅游"    '填入搜索关键字
    htme = web.Document.getelementbyid("btn_search") '找到搜索按钮
   
    htme.Invokemember("click")  '自动点击搜索按钮
   
    Do While web.Document.getelementbyid("result_count").InnerText = ""
        Application.DoEvents
    Loop
    Dim result  As Integer = web.Document.getelementbyid("result_count").InnerText
    If result = 0  Then
        messagebox.show( "没有找到该公众号"  )
    Else
        Do While web.Document.getelementbyid("result_list").children.Count = 0
            Application.DoEvents
        Loop
        Dim ls = web.Document.getelementbyid("result_list").GetElementsByTagName("div")
        For Each l As object In ls
            If l.GetAttribute("ClassName") = "new_add_shopcar" Then
                l.Invokemember("click")
            End If
        Next
       
    End If
End If


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


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
  发帖心情 Post By:2015/8/9 11:09:00 [只看该作者]

谢谢 大红袍,特别提供的等待网页完成的思路

 

但   l.Invokemember("click")  发现还是没有反映,后面我直接用鼠标点击也没有反映,是不是这个webbrowser控件禁用了脚本呢,我单独用电脑的其他浏览器打开点击是有反应的


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/9 12:23:00 [只看该作者]

1、我测试可以。

 

2、你在webbrowser里面要登陆啊。


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


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
  发帖心情 Post By:2015/8/9 18:51:00 [只看该作者]

我后面又测试发现,一次打开网页 只能添加一个选号,再点击下面一个第二次就无效了。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/9 20:13:00 [只看该作者]

以下是引用Fotable在2015/8/9 18:51:00的发言:

我后面又测试发现,一次打开网页 只能添加一个选号,再点击下面一个第二次就无效了。

 

呃,不会,只要你能模拟click事件,就什么都能做得到。

 

或者,账号密码加例子发上来测试一下。


 回到顶部