五度的博客

看远方的梧桐叶~ 思恋从前的我!

易语言无ID,无Name的网页元素点击方法!

在论坛经常看到一些问题,如“这个按钮怎么点击?”这类的。
我发现都是一些无ID,无Name的元素,
普通的有ID/Name元素,只要用getElementById或getElementByName就可以
(使用“易语言网页操作类”模块,可以用
网页文档.取元素对象 (“ID或Name”, #元素标识类型_ID 或 #元素标识类型_名称) ,
使用“网页操作类_光庆版”模块,可以用
网页操作.对象_取xx对象 (网页操作.xx_取索引 (“Name或ID”)) 。
)
第一类:无ID,无Name的怎么办呢,我们可以通过“ClassName”来取得
例如土豆网首页的搜索按钮
易语言无ID,无Name的网页元素点击方法! - wuduasd - wudu的博客


引用
<INPUT class="gs_submit" value=搜索 type=submit>
上面加粗红色的部分就是ClassName。我们可以通过getElementByClassName来获取。
当然用模块的“表单”类也可以。
第二类:我们重点介绍,无ID,无Name,无ClassName,简称三无。
比如我们易语言论坛的Logo,一个典型的三无
易语言无ID,无Name的网页元素点击方法! - wuduasd - wudu的博客
它的代码是:
引用
<IMG src="images/wind/logo.png">
我们怎么取得呢?
这里在Name,ClassName以后,又引进一个Name:TagName
什么是TagName:
引用
<a href="http://www.xxx.com">
<IMG src="http://www.xxx.com/xxx.jpg">
<INPUT class="w_btn" value=" 发 布 " type=submit name=Submit>
上面加红加粗的就是TagName,可以理解成标签 (ps:不是易语言的标签组件-_-)
我们可以用“getElementByTagName”获取,
当然,很少有网页没有相同的TagName,
所以,我们应该用“getElementsByTagName”
这样取出来的不是一个元素,而是一堆元素,是一个元素集合,可以理解成数组,比数组麻烦,可以用length属性来取数目。
(上面的getElementByxxxxxx,也可以加s,取出来的也是元素集合)
集合 = 对象.对象型方法 (“getElementsByTagName”, “IMG”) ' TagName是“IMG”。
.计次循环首 (集合.读数值属性 (“length”, ), 计次) ' 计次循环,一个一个的枚举
    元素 = 集合.对象型方法 (“item”, 计次 - 1) ' item的第一个参数是索引,从0开始。
    .如果真 (元素.读文本属性 (“src”, ) = “http://bbs.eyuyan.com/images/wind/logo.png”) ' 如果src等于images/wind/logo.png,那么就是这个元素了。
        元素.方法 (“click”, ) ' 点击
    .如果真结束
      
.计次循环尾 ()
(见例1)
再来一个复杂点的,http://bbs.eyuyan.com/read.php?tid=252791
这个帖子的这种按钮,需要配合一点点文本操作,来判断它的“onclick”
引用
<a href="javascript:void(0);" onclick="App.followadd('1213452333',this,false,false,{'location':'searchhome','refer_sort':'search','refer_flag':'search_tag'});return false;" class="addFollow"><span class="addnew">+</span>加关注</a>
它的TagName是“a”
集合 = 对象.对象型方法 (“getElementsByTagName”, “a”) ' TagName是“a”。
.计次循环首 (集合.读数值属性 (“length”, ), 计次) ' 计次循环,一个一个的枚举
    元素 = 集合.对象型方法 (“item”, 计次 - 1) ' item的第一个参数是索引,从0开始。
    .如果真 (取两文本中间 (元素.读文本属性 (“onclick”, ), “App.followadd('”, “'”) = “1213452333”)
        ' 如果onclick中的一部分等于1213452333,那么就是这个元素了。
        元素.写属性 (“innerText”, “修改文本”) ' 修改文本
    .如果真结束
      
.计次循环尾 ()
(见例2)
以上的网页对象是怎么来的呢:
IES句柄 = 取网页句柄 (超文本浏览框1.取窗口句柄 ()) ' 取得Internet Explorer_Server的句柄
对象 = 取网页对象 (IES句柄) ' 取得网页文档document对象
(见任意1例)
使用“易语言网页操作类”模块,可以用
网页文档.取元素集合 (“IMG”) ' TagName ,
使用“网页操作类_光庆版”模块,貌似本身就是集合。
最新的易语言网络操作支持库是2.1!
另外源码里面有框架里面的伪按钮点击方法!
源码+824393379
我忘记上传了!
不好意思!
推荐网站:www.wudurj.com  五度有声小说下载网,免费的有声小说下载,mp3小说下载!,有声小说打包下载!

posted on 2011-03-24 02:29  五度  阅读(9789)  评论(1)    收藏  举报

导航