【分享】对付动态网页中动态目标的简单方法

lhui 2021-4-1 1505

大家都是从新人过来的,多多分享能促进UiBot的繁荣,我来抛砖引玉:

对付动态目标点命令上的那个目标去网页上定位而不作处理,那是完全没戏。
部分动态目标(只是目标中title等非重要属性含动态信息的)可以通过点命令上的那个目标去网页上定位后把动态的部分修改为*来解决。
部分动态目标(目标中含动态aaname)可以通过浏览器插件生成CSS-Selector来解决。
对于完全动态的目标,可以通过先前生成的CSS-Selector,改变其index,读取其文本进行比较来解决,但是速度会比较慢。

其它相关学院教程https://forum.uibot.com.cn/thread-1385.htm

最新回复 (9)
  • wang_15507 2021-4-1
    2
    某些网页全部元素都是动态生成,没有一个固定的父元素,用查找子元素的办法不能解决。可以读取网页源代码,通过分析目标元素附件的特征且唯一的字符串与目标元素动态ID的相对位置来定位目标元素。
  • lhui 2021-4-2
    3
    wang_15507 某些网页全部元素都是动态生成,没有一个固定的父元素,用查找子元素的办法不能解决。可以读取网页源代码,通过分析目标元素附件的特征且唯一的字符串与目标元素动态ID的相对位置来定位目标元素。
    从你这里学到了一招,谢谢!
  • 黄一桁 2021-4-2
    4
    哥,球球你出个详细教程,对于每一种情况。要是出不了,你现在说的这种方法可不可以往下兼容所有情况,如果可以,就出这一种万金油的方法教程好不好
  • lhui 2021-4-2
    5
    黄一桁 哥,球球你出个详细教程,对于每一种情况。要是出不了,你现在说的这种方法可不可以往下兼容所有情况,如果可以,就出这一种万金油的方法教程好不好
    前辈,您创号时间比我早1年多好不好?!
  • 章_367841 2021-8-24
    6
    wang_15507 某些网页全部元素都是动态生成,没有一个固定的父元素,用查找子元素的办法不能解决。可以读取网页源代码,通过分析目标元素附件的特征且唯一的字符串与目标元素动态ID的相对位置来定位目标元素。
    没理解您的意思,最近遇到了这种问题,可以再指点一下吗?谢谢!
  • wang_15507 2021-8-25
    7
    章_367841 没理解您的意思,最近遇到了这种问题,可以再指点一下吗?谢谢!



    例如这个元素探测到id:

    ext-comp-1333,“ext-comp-”是固定的且不是唯一的,网页上所有元素ID都带有此字符,后面的数字是随机生成的。你可以先把网页源代码读取出来写到word文档,在分析此元素与其他特征字符是否存在位置关系

    hWeb = WebBrowser.BindBrowser("chrome",10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":200})

    sRet = WebBrowser.GetHTML(hWeb,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":200})

    objWord = Word.Open("C:\\Users\\Administrator\\Desktop\\新建 DOC 文档.doc","","",True)

    Word.Write(objWord,sRet)

    iRet = InStrRev(sRet,"确定",1,False)

    sRet = SubString(sRet,iRet-50,iRet-20)

    sRet = DigitFromStr(sRet)


    在源代码中我发现“确定”这个字符是唯一的,且与我需要的元素ID:ext-comp-1333 位置比较接近,接下来只要找到“确定”的位置就行。代码输出的sRet就是“1333”这是一种思路。

    虽然网页元素id是随机,但是你细心观察,会发现他们之前会存在某些关系。

    还有一种方法刚刚这个元素虽然ID是随机,但是通过元素分析,它的name值比较特殊:


    注意visitDate_后面的字符也是随机的,因此我们可以用visitDate_*来代替随机的部分。多观察,总能找到规律。


  • lhui 2022-1-20
    8
    https://forum.uibot.com.cn/thread-11373.htm 中插件即为解决完全动态的目标而作的。
  • 呆头呆脑 2022-1-21
    9
    通配符
  • lhui 2022-1-21
    10
    呆头呆脑 通配符
    以前的版本aaname是不能用通配符的,不知道新的版本能不能用
返回
发新帖