【问题标题】:how to identify an object property with iMacros如何使用 iMacros 识别对象属性
【发布时间】:2017-06-05 21:36:03
【问题描述】:

我用 vba (excel) 和 iMacros 编写了一个宏。当我记录在某个字段中的点击时,这是我得到的信息:

TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:gwt-uid-1317

我遇到的问题是该字符串末尾的数字每次都会更改。我可以点击它:

TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:gwt-uid-*

但我需要该数字,因为接下来的 3 个字段基于该数字。例如,如果是1317,下一个数字是1326。如果是1350,那么下一个数字是1359。

有没有办法获取这个数字?感谢您的帮助.....

【问题讨论】:

    标签: excel vba imacros


    【解决方案1】:

    嗯...,在询问 Qt 时,您应该始终提及您的环境/FCI(完整配置信息),并非所有(iMacros)命令都适用于所有浏览器/版本,但是好的,这个适用于所有浏览器:

    => 是的,在你的 Field + 'EVAL()' & 'match()' 上使用 'EXTRACT=HTM' 很容易,或者我更喜欢 'split()' (x2),我发现它比 'match( )'。

    这会让stg像:

    SET !EXTRACT NULL
    TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:gwt-uid-* EXTRACT=HTM
    SET gwt-uid_Nb EVAL("var s='{{!EXTRACT}}'; var y,z; y=s.split('gwt-uid-'); z=y[1].split(' '); z[0];")
    PROMPT _{{gwt-uid_Nb}}_
    

    => 将第二个 'split()' 中的 'Space' 替换为 'EXTRACT=HTM' 中 4 位之后的任何唯一字符/字符串...(但要避免双引号和反斜杠...! )

    (未测试,因为您没有提供页面的 URL...)

    您甚至可能不需要该 ID 号,因为您在接下来的 3 个字段中使用“相对定位”...

    【讨论】:

    • @chivracq............谢谢你的信息。我没有提供网址,因为它是我们公司开发的系统。我今天要试试这个。你能给我更多关于相对定位的信息吗?我以前没用过吗?我也遇到了复选框问题(无法选中)。我可以记录它,当我把它放在我的 VBA 中时 (TAG POS=1 TYPE=INPUT: CHECKBOX ATTR=*&&CHECKED:True &&TYPE:checkbox && VALUE:on CONTENT=YES") 并运行它,没有任何反应,框未选中,没有错误信息,什么都没有。对此问题有什么建议吗?再次感谢您的帮助
    • @chivracq....Imacros 10.3,IE 浏览器,Windows 7 企业版。我认为复选框代码可能是用专家模式记录的。当我为 number 属性添加上面的代码时,我收到了 -1100 错误格式错误消息。再次感谢。
    • @chivracq........我开始使用这个标签,它就像一个魅力。感谢您的建议......
    • @chivracq ..........我永远无法让它工作,但最终切换到相对定位,这解决了我的问题。感谢您提供的所有反馈和帮助。
    • @chivracq ..........如果我把它设为-1,那是一个意外,因为我肯定不是故意的。我试图通过接受答案来纠正它。并删除-1。您提供的关于相对定位的答案是我使用的解决方案。感谢您就该主题提供的帮助。
    猜你喜欢
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 2020-09-16
    • 2018-12-09
    • 2015-05-22
    • 2021-10-02
    相关资源
    最近更新 更多