找回密码
 加入
搜索
查看: 5816|回复: 5

[IE类操作] 点下网页中按钮的问题

[复制链接]
发表于 2014-1-11 09:38:26 | 显示全部楼层 |阅读模式
想学一下下面这段代码中如何按下“复制题目”、“下一题”、“上一题”、“转到”。前两个比较重要,最后一个可能无法实现。以前按照input.id的方法在这里行不通,不知道为什么,求助。谢谢!
<div class="tiebabox">
        <div class="tieba">
                            
                                <a href="javascript:void(0)" onfocus="this.blur();" class="facebook inp tip" onclick="go(0)" title="按键盘 → 进入下一题">下一题</a>
                <a href="javascript:void(0)" onfocus="this.blur();" class="facebook inp tip" onclick="go(-1)" title="按键盘 ← 进入上一题">上一题</a>
                <a href="javascript:void(0)" onfocus="this.blur();" class="green inp" id="btn_jieshi">本题解释</a>
                <a href="javascript:void(0)" onfocus="this.blur();" class="facebook inp" id="btn_fav">收藏</a>
                                <a class="red inp" id="btn_copy">复制题目</a>
     </div>
        <div class="userinfo">
        <div class="left">
            答对:<span id="TrueNum">0</span> 题   答错:<span id="FalseNum">0</span> 题  
            正确率:<span id="TruePre">00%</span></div>
        <div class="right tip" title="正确答题后跳转到下一题">
            <input style="vertical-align:middle;" type="checkbox" name="AutoNextTmp" id="AutoNextTmp" value="1" title="正确答题后跳转到下一题"><label style="vertical-align:middle;" for="AutoNextTmp">自动下一题</label>
        </div>
        <div class="rightr">
            共 <span id="quallcount">1</span> 题 
                                                <span class="tip" title="跳至指定的题 (本功能仅限于VIP用户使用)">转到<input type="text" id="tbtestindex" name="tbtestindex" Disabled class="uan">题</span>
                                        </div>
        </div>
</div>
 楼主| 发表于 2014-1-11 09:39:47 | 显示全部楼层
发重复了可以删除
发表于 2014-1-12 16:38:52 | 显示全部楼层
用_IELinkClickByText不是可以實現嗎?
 楼主| 发表于 2014-1-16 21:01:14 | 显示全部楼层
我只能用点击鼠标的最原始方法解决了。世间最痛苦的事莫过于没能解决自己心中真正的疑问了。疑问还有很多,准备别的途径再尝试了
发表于 2014-1-29 18:24:27 | 显示全部楼层
我简单分享下我的经验,
这个问题,最主要是要找到并抓到这个所谓的“控件”
1、先尝试用AU3自带的窗口信息工具抓取
2、用IE8(或更高版本)自带的F12,开发人员工具抓取
3、彗星小助手(这个可以baidu下,不过我一般不用,就是AU3自带的窗口信息工具强化IE版)
4、抓包工具,例如HTTPWATCH这类的

主要是找到控件

例如按钮,一般是<input   name=""   id=""       >       </input>
我还遇到过很多是<div  > </div>
<a    >   </a>
总之,一般都是有标签的
可以用<IE.au3>自带的函数
_IEGetObjById
_IEGetObjByName
_IEFormGetObjByName

当然,很多情况下,是会遇到不能直接找到所需要的按钮等控件的,这就要静下心来一层层剥了
先分析下网页的frame标签或者head、body标签,如果有好几个,就说明是多个框架网页,
这就需要先_IEAttach窗口,再_IEFrameGetObjByName/_IEFrameGetCollection找到某个框架或遍历所有框架
然后再找到框架内的某个table或者form等其他大的部件,再找到其中所需要的小控件

杀手锏:实在找不到,可以考虑用GetCollection这种函数遍历
举个例子:利用_IETagNameGetCollection函数,可以遍历某个框架内所有tag元素
例如我遇到某个网站,都是用<nobr></nobr>格式化文本的
#include <IE.au3>
$oIE = _IE_Example ("form");这里可以自己先ieattach然后ieframegetobjbyname
$NOBRS = _IETagNameGetCollection ($oIE, "NOBR")
For $NOBR In $NOBRS
    MsgBox(0, "NOBR", "NOBR.id: " & $NOBR.id & @CRLF &" innertext: " & $NOBR.innertext)
Next


相信总能找到所需要的
发表于 2014-1-31 14:14:20 | 显示全部楼层
想  如果用POST 的话  是不是更简单?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-3 03:16 , Processed in 0.075907 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表