V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tedd
V2EX  ›  问与答

autoit或者ahk这类自动化工具(又或者python?)可否实现: 捕获当前打开网页(ie)页面中一个class的值(时间格式), 并根据其弹出一个实时的记时(就像是个表, 每秒刷新所捕获时间距离当前时间之差)窗口呢?

  •  
  •   tedd · 2013-05-27 23:02:50 +08:00 · 4364 次点击
    这是一个创建于 4204 天前的主题,其中的信息可能已经有所发展或是发生改变。
    可能用js将这一需求写成chrome或者ff插件更简单,但是条件有限,唯一选择是一个封装成exe能在windows下单独运行的小程序...还望高手支招
    4 条回复    1970-01-01 08:00:00 +08:00
    Mutoo
        1
    Mutoo  
       2013-05-27 23:11:54 +08:00
    这种需求用按键精灵更合适,按键精灵提供了网页按键精灵专门做这种事,而且可以打包成exe单独运行。
    tedd
        2
    tedd  
    OP
       2013-05-28 10:10:13 +08:00
    @Mutoo 谢谢,我回头看看,今天尝试了下用Python来做:
    - 获取ie当前页面url
    - 根据url抓取页面内容
    - ....

    结果第一步就失败了,url倒是抓到了,但发现该webapp大量ajax,抓到的url是其主页内容,但页面内的内容已更新了...
    icylogic
        3
    icylogic  
       2013-12-01 17:00:33 +08:00
    获取一个class的值, 可以看一下我的脚本https://github.com/icylogic/XiamiCheckIn/blob/master/XiamiCheckIn.ahk 这个是用来虾米签到的, 最核心的语句就是通过COM操作获取浏览器里的class
    比如获取登陆框并自动填写密码用到的: document.getElementById("login_email")
    点击签到按钮的时候发现虾米没有给这个按钮id , 只能从classname找:
    document.getElementById("login_submit").Click()

    那个计时器就很简单了, 把获取到的时间字符串按需要处理一下, 跟当前时间A_Now相减就可以了, 可以放到loop里加一条sleep或者用setTimer实现每秒更新.
    icylogic
        4
    icylogic  
       2013-12-01 17:01:45 +08:00
    写错了, 根据classname找的语句是ie.document.getElementsByClassName("icon tosign")
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2774 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:46 · PVG 13:46 · LAX 21:46 · JFK 00:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.