求助:用什么方法可以获得网页上相似元素的数量

王登科 2021-5-10 782

如题,用什么方法可以获得网页上相似元素的个数,(请排除一键“数据抓取”功能,太智能了,不能操控)

最新回复 (7)
  • 果子哩 2021-5-11
    2
    相似元素,具体哪些元素,具体要获取什么请详细说明一下
  • 王登科 2021-5-12
    3
    例如淘宝网搜索后,有多少个宝贝,,,我要的是这个数量  后续想依次点开它们
  • 王榕星 2021-5-13
    4
    Dim sRet = ""
    Dim bRet = ""
    Dim hWeb = ""
    hWeb = WebBrowser.Create("chrome","https://uland.taobao.com/sem/tbsearch?refpid=mm_26632258_3504122_32538762&keyword=%E5%A5%B3%E8%A3%85&clk1=83e7a67ee7027cf3ef33549cb29f8cf1&upsId=83e7a67ee7027cf3ef33549cb29f8cf1",30000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":200,"sBrowserPath":"","sStartArgs":""})

    dim idx=0
    Do
        Try
            #icon("@res:pvp78qp8-m28k-fbkm-oavp-oth3i9gqfp89.png")
            sRet = UiElement.GetValue({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"*","app":"chrome"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}],"html":[{"tag":"A","parentid":"mx_5","aaname":"*","idx":idx}]},{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":200})
            TracePrint  sRet
        Catch 
            TracePrint "超出本页最大数量"
            Break
        End Try
        idx=idx+1
    Loop While true and idx<100

    //本页面宝贝最大idx为59(idx区间为0-59),则数量为60,超出报错跳出循环
    TracePrint idx
  • 王登科 2021-5-14
    5
    王榕星 Dim sRet = "" Dim bRet = "" Dim hWeb = "" hWeb = WebBrowser.Create( ...
    非常感谢王哥的回答。可能是我没表达清楚。你的程序前提假设了宝贝数量就是60个。。我要的刚好相反,假设数量是个未知数,有可能是35,有可能是42,有可能是88,,我如何获得这个数量。
  • 王榕星 2021-5-14
    6
    王登科 非常感谢王哥的回答。可能是我没表达清楚。你的程序前提假设了宝贝数量就是60个。。我要的刚好相反,假设数量是个未知数,有可能是35,有可能是42,有可能是88,,我如何获得这个数量。


    我的处理方法就是为了获取不确定总数的情况,如果数量很多,你把循环结束的idx加大,就能获取到更多存在的idx,当idx达到最大了,再+1就不存在会报错被捕获并跳出


  • 王登科 2021-11-24
    7
    非常棒,受教了,建议官方开发一个命令,直接可以使用的命令,实际编程中,需要获取相同元素数量的场景非常多,如果有命令,方便很多。
  • 陈翔_616146 2022-4-13
    8
    王登科 非常棒,受教了,建议官方开发一个命令,直接可以使用的命令,实际编程中,需要获取相同元素数量的场景非常多,如果有命令,方便很多。
    确实,这个功能比较实用,如果每次都判断,效率比较低
返回
发新帖