TC官方合作论坛

标题: TC4.0网页控件更新 附详细说明与使用教程 [打印本页]

作者: tcmade888    时间: 2012-5-7 15:15
标题: TC4.0网页控件更新 附详细说明与使用教程
TC 控件—网页控件详细教程

最新版本TC浏览器控件更新:浏览器控件换了一种全新的实现方式,完全支持支付宝、财付通等安全组件加载,并且元素操作的代码做了优化,执行速度得到了很大的提升.

一、网页控件介绍

网页控件顾名思义就是用来显示网页的一个控件,网页控件是基于IE浏览器内核开发的,所以它里面可以加载任何的一个网页与网页游戏。为了方便使用者轻松的使用TC里面网页控件,TC提供了一套完整的操作网页控件命令函数。先来看看TC网页控件(TC工具箱里的名字是: 浏览器)的面貌吧!   



好了,外面再来看看它的作用吧。

二、网页控件作用

上面也说了,网页控件可以加载任何的一个网页与网页游戏,这就说明这个控件的作用完全在于网页。那么使用者就可以使用它对网页进行操作,从而写出自己需要的脚本。例如可以写: 自动登陆某网站、模拟网页游戏、扫描淘宝商店物品价格……,还有很多的作用需要大家自己去发现。

三、网页控件的使用

1、网页控件在TC中的使用

在TC里使用网页控件很简单,只需要打开TC,新建一个项目,如下图:




之后在工具箱找到浏览器控件,如图所示:



找到浏览器控件之后,你只需要点击浏览器控件,把鼠标移动到TC界面设计面板上面,鼠标会由箭头变成一个带浏览器图标的十字架,之后在TC的界面设计面板上点击一下就可以了。        




之后就是对控件的大小以及布局做调整了,这个我相信所有人都会吧!

2、网页控件命令说明

TC对网页控件操作提供了大量的命令,主要分为浏览器常规操作、后台鼠标、后台键盘、元素操作(表单提交)以及执行JS方法这5大类别。


  浏览器控件功能类别  
方法(中文/英文)与描述
说明
  
  
          
转到/go
打开一个URL网页链接
此功能与浏览器上的转到按钮功能一样,打开一个指定网站。
前进/forward
当前标签页网页前进一步  后退/back

当前标签页网页后退一步  刷新/refresh
刷新当前的网页
此功能与浏览器上的前进、返回、刷新按钮功能一样
删除临时文件/cleartemp  
删除浏览器临时文件  删除cookie/  clearcookie
删除浏览器cookie
此功能与浏览器上的选项菜单里清理功能一样。
得到标题/gettitle

获取当前页的标题  得到窗口句柄/gethwnd
得到当前网页的句柄  得到链接/geturl

得到当前网页的地址
得到句柄(hwnd)之后,就可以使用一些需要窗口句柄的方法来操作浏览器。
设置滚动条位置/setscollpos
设置浏览器的滚动条位置
设置浏览器中的水平和垂直滚动条的位置.
          
移动/moveto 发送一个鼠标移动消息
这里的鼠标操作方法是基于windows消息机制实现的。使用之前要先测试网页是否支持此种模式。
左键按下/leftdown  发送一个鼠标左键按下消息
左键弹起/leftup 发送一个鼠标左键弹起消息
左键单击/leftclick  发送一个左键单击消息
左键双击/leftdoubleclick 发送一个左键双击消息
          
按下/keydown 发送一个键盘按键按下消息
这里的键盘操作方法也是基于windows消息机制实现的。使用之前要先测试网页是否支持此种模式。
弹起/keyup 发送一个键盘弹起消息
按键/keypress 发送一个按键消息
发送字符串/sendstring  发送一个字符串的文本消息
          (表单提交)  
获取元素信息/  htmlget获取网页元素指定属性的信息
使用这些方法,需要借助AB抓抓元素分析工具来使用,目前TC里支持的元素特征有:id(标识),name(名称),tag(标签),type(类型),value(值),class(类名),index(索引号),frame(框架),在左侧方法里,特征可以单个使用,也可以用“&”符号多个组合使用。
点击元素/  htmlclick点击网页中指定特征的元素
输入元素文本/  htmlinput向网页中指定特征的文本框输入内容
选择元素/  htmlselect选择网页中的下拉框的选项
选中元素/htmlcheck选择/清除网页中的单选框或复选框
  执行JS方法  
执行js/ runjs 当前网页中执行一段JS脚本,获取返回值
此方法的使用需要熟悉javascript命令。



需要注意的命令:

l、鼠标的操作都需要传递一个坐标参数,不传递则会出现语法错误。
例如逻辑型 移动(字符型 id,整型 x,整型 y) 逻辑型 左键单击(字符型 id,整型 x,整型 y) 等。而且这里的鼠标操作都是采用的windows消息机制,可能在一些网页中被屏蔽,所以在使用之时,请先测试当前网页是否支持此模式的鼠标操作!其操作与普通鼠标操作类似。

2、HTML系列命令需要使用者对网页的元素有基本的理解,这样才能熟练的使用这些命令。对网页元素的分析,请大家使用AB抓抓里的元素分析功能.如图:





3、对于网页控件的使用实例可以去TC论坛(http://bbs.tyuyan.com)查找更多资料。YY教学视频也有相关的介绍:http://bbs.tyuyan.com/thread-6955-1-1.html

3.实例
这里我们实现一个简单的实例:在百度搜索里,自动输入TC简单开发,并点击百度一下按钮,实现搜索功能。
分析一下:要实现自动输入功能,那么则需要知道输入元素的信息,比如:idclasstpye等。要实现自动点击功能,那么则需要知道按钮元素的信息,比如:idclass等。下面我们来一步步实现这样的功能。
1.新建一个新的项目,项目名称为:网页控件。

2.拖动一个浏览器控件到TC界面设计面板上,之后在浏览器控件上单击鼠标右键,选择属性,在属性栏的URL内填入:www.baidu.com,如图:
界面显示如下:

3.IE浏览器里打开链接:www.baidu.com 。并打开AB抓抓工具,点击[网页分析],
之后将查询图 file:///C:\Users\bin\AppData\Local\Temp\msohtmlclip1\01\clip_image008.jpg拖动 按钮上,这样我们就可以获取到按钮的元素信息:
file:///C:\Users\bin\AppData\Local\Temp\msohtmlclip1\01\clip_image012.jpg
之后我们选择[生成特征字符串]里的选项,就可以直观的显示能否查找到,只要是工具上可以找到,那么TC里面就可以找到.而且最重要的是选择一个选项可能会找到多个,那么就需要再选择其他的特征进行组合,最终确保只能找到一个这样的元素.
比如选择tag选项,得到下面结果:
file:///C:\Users\bin\AppData\Local\Temp\msohtmlclip1\01\clip_image014.jpg
找到8,那么我们继续选择一个特征:
file:///C:\Users\bin\AppData\Local\Temp\msohtmlclip1\01\clip_image016.jpg
这样就只有一个了,确保了元素唯一了,那么我们就可以使用” tag:INPUT&id:su”特征字符串找到百度一下这个按钮了.
我们也可以只选择id,它找到的也是唯一的元素:
file:///C:\Users\bin\AppData\Local\Temp\msohtmlclip1\01\clip_image018.jpg
点击百度一下的代码如下:
  1. 网页.点击元素("浏览器0","tag:INPUT&id:su")
复制代码

通过上面的方法,我们获取到输入栏的元素信息为:
file:///C:\Users\bin\AppData\Local\Temp\msohtmlclip1\01\clip_image020.jpg
而且” id:kw”的特征字符串找到的元素也是唯一的.
那么输入搜索内容的代码如下:
  1. 网页.输入元素文本("浏览器0","TC简单开发","id:kw")
复制代码

4.获取到了上面一些信息之后,我们开始在TC编辑界面编写脚本。双击开始按钮,在开始按钮事件里添加如下代码:
  1. 如果(网页.输入元素文本("浏览器0","TC简单开发","id:kw"))
  2.          网页.点击元素("浏览器0","id:su")
  3. 如果结束
复制代码

网页.输入元素文本 这个命令的详细介绍可以参考TC的帮助文档,第一个参数是控件名称,第二个参数是要输入的内容,第三个参数是元素的特征,这里只使用了id特征,也可以使用classtpyename,也可以使用多个特征的组合,例如:把”id:kw&name:wd&class:s_ipt”
网页.点击元素详细说明见帮助文档。这里的第一个参数是控件名称,第二个参数是按钮元素的特征,这里只使用了id特征,同上一样可以使用其他特征或者是组合特征,只是要求这些特征一定要是元素自己所拥有的,否则找不到相应元素,程序执行失败,返回假。

5.执行的效果如下:

file:///C:\Users\bin\AppData\Local\Temp\msohtmlclip1\01\clip_image022.jpg

4、总结
TC的网页控件拥有强大的功能,用途在网页中非常广泛。更多的功能需要使用者在不断的熟悉TC以及相关控件命令之后慢慢去挖掘。





作者: tyuyan    时间: 2012-5-7 15:20
来看看。。  学习了。
作者: 落叶归根    时间: 2012-5-7 15:31
不错 。  楼主解释的很透彻。
作者: 天下任我行    时间: 2012-5-7 15:59
好东西呀!~!~!
作者: kevinqq    时间: 2012-5-7 16:00
灌水

作者: 喜欢挂    时间: 2012-5-7 16:19
是么呀图片都出不来
作者: 为人民服务    时间: 2012-5-7 16:37
flash 操作咋样
作者: a6646250    时间: 2012-5-7 16:43
学习~!!
作者: 梧桐树下雨    时间: 2012-5-7 18:19
bool loadcomplete(string id)  这个判断网页 是否加载完成  一调用 就假死   是不是应该在bool go(string id,string url)函数内加阻塞操作
作者: TENGJIAXUAN    时间: 2012-5-8 06:38
TC更给力了
作者: Abin    时间: 2012-5-9 09:12
回复 9楼梧桐树下雨的帖子

TC里的所有功能操作,建议都放到线程里执行。

判断网页是否加载完毕这个功能, 因为你要在循环里去判断,所以这讲导致当前线程阻塞,以致网页打不开。所以请在线程里执行这些操作吧。。
作者: yvyan    时间: 2012-5-9 13:32
请教一个问题 要点击这个button,怎么样确定它的元素??  <input type="button" class="addAttention" value="立即收听" addevent="1">
作者: Abin    时间: 2012-5-9 14:14
回复 12楼yvyan的帖子

请教一个问题 要点击这个button,怎么样确定它的元素??  <input type="button" class="addAttention" value="立即收听" addevent="1">

TC里支持 type class value等元素特征, 你这里就有这些特征,可以直接使用的。例如:
网页.点击元素("浏览器0","type:button&class:addAttention&value:立即收听")
或者
网页.点击元素("浏览器0","class:addAttention")

一个原则就是: 特征必须是这个元素唯一的,不能和其他元素相同,必须能区分才行。好好理解和看看上面的说明吧。
作者: 我又来了    时间: 2012-5-9 15:31
抢位置啊
作者: 清风流水2060    时间: 2012-5-9 15:51
获取元素信息:想到网页游戏上面获取一些信息,点获取元素信息是获取的整个网页游戏窗口信息,不能获取到游戏窗口里面的信息是咋回事(比如里面一些图,一些按钮啥的),是不是有保护啊。
作者: Abin    时间: 2012-5-10 09:28
回复 15楼清风流水2060的帖子

汗~~~ 网页游戏不能这样操作。因为它一般就是一个Flash控件,通过元素是获取不到Flash里的数据。
作者: aqugss0699    时间: 2012-5-11 17:55
来了
作者: lzy865    时间: 2012-5-11 20:41
学习ing
作者: mahua1130    时间: 2012-5-12 14:40
TC真的很强大
作者: 460091827    时间: 2012-5-12 18:17
学习
作者: TC_小虎    时间: 2012-5-18 16:33
顶一个
作者: kixmed    时间: 2012-5-24 08:58
学习了
作者: 落幕    时间: 2012-5-31 00:11
似懂非懂呀。。。。
作者: juanwl    时间: 2012-6-3 22:24
我更想有一个网页信息发布功能的,直接通过文本框发送就行的那种
作者: jie820090428    时间: 2012-6-6 14:46
标题: 看看看看
看看看看
作者: friend32700    时间: 2012-6-11 15:57
这个好强大 嘿嘿
作者: wz1wz    时间: 2012-6-30 18:38
学习了。
作者: 雀巢咖啡    时间: 2012-7-3 09:38
学习了。
作者: 05windows    时间: 2012-10-19 22:11
选择元素 怎么总是用不对啊?
作者: webboc    时间: 2012-11-7 20:12
新人报道~学习一下,好好收藏
作者: lyyybz    时间: 2012-11-27 14:11
dinga
作者: yjqqqtu    时间: 2012-12-1 07:12
可以穿透框架吗??最好支持那种一个网页里面有重复ID的。。
作者: 钱多多    时间: 2012-12-9 20:35
很好,很强大
作者: 火炎焱燚    时间: 2013-1-28 13:12
来看看。。  学习了。
作者: wangbo6886    时间: 2013-3-20 12:14
最近都在研究页游的脚本。。。学习到了   谢谢
作者: bzhjl    时间: 2013-3-29 22:15
好厉害!这样就可以后台智能操作网页了!
作者: fspxbo30416    时间: 2013-3-30 19:17
我来灌水
作者: okainioo    时间: 2013-5-5 10:33
学习了
作者: hnxhyhl    时间: 2013-5-19 15:46
需要的就是这个玩意儿
作者: momotomyw    时间: 2013-5-21 11:31
为什么我用ab抓抓的网页分析,永远是获取目标窗口信息失败?求解释
作者: tcjbgjzh    时间: 2013-7-4 16:09
网页控件更新 附详细说明与使用教程
作者: suwill    时间: 2013-12-9 21:45
拜托,你家图片都挂了,木有上传啊
作者: 步步攀升510    时间: 2016-8-19 23:08
;几乎涵盖大学生




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1