看流星社区

 找回密码
 注册账号
查看: 2671|回复: 2

[教程]教您取得无ID,无Name的网页元素。

[复制链接]

该用户从未签到

发表于 2013-3-1 08:46:35 | 显示全部楼层 |阅读模式
在论坛经常看到一些问题,如“这个按钮怎么点击?”这类的。
我发现都是一些无ID,无Name的元素,
普通的有ID/Name元素,只要用getElementByIdgetElementsByName就可以
(使用“易语言网页操作类”模块,可以用
网页文档.取元素对象 (“ID或Name”, #元素标识类型_ID #元素标识类型_名称) ,
使用“网页操作类_光庆版”模块,可以用
网页操作.对象_取xx对象 (网页操作.xx_取索引 (“Name或ID”)) 。
)

无ID,无Name,无ClassName,简称三无。
比如我们易语言论坛的Logo,一个典型的三无


它的代码是:
引用
<IMG src="images/wind/logo.png">

我们怎么取得呢?
这里在Name以后,又引进一个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属性来取数目。

  1. 集合 = 对象.对象型方法 (“getElementsByTagName”, “IMG”) ' TagName是“IMG”。
  2. .计次循环首 (集合.读数值属性 (“length”, ), 计次) ' 计次循环,一个一个的枚举
  3. 元素 = 集合.对象型方法 (“item”, 计次 - 1) ' item的第一个参数是索引,从0开始。
  4. .如果真 (元素.读文本属性 (“src”, ) = “http://*****/images/wind/logo.png”) ' 如果src等于images/wind/logo.png,那么就是这个元素了。
  5. 元素.方法 (“click”, ) ' 点击
  6. .如果真结束
  7. .计次循环尾 ()
复制代码


再来一个复杂点的,这个帖子的这种按钮,需要配合一点点文本操作,来判断它的“onclick”

<a href="javascript:void(0);" 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”, “修改文本”) ' 修改文本
    .如果真结束
      
.计次循环尾 ()

以上的网页对象是怎么来的呢:
IES句柄 = 取网页句柄 (超文本浏览框1.取窗口句柄 ()) ' 取得Internet Explorer_Server的句柄
对象 = 取网页对象 (IES句柄) ' 取得网页文档document对象

使用“易语言网页操作类”模块,可以用
网页文档.取元素集合 (“IMG”) ' TagName
使用“网页操作类_光庆版”模块,貌似本身就是集合。

该用户从未签到

发表于 2013-3-6 17:15:32 | 显示全部楼层
不错,很有用,支持一下了。。

该用户从未签到

发表于 2013-5-3 18:17:59 | 显示全部楼层
回复 1# lizhen
不错,很有用,支持一下了。。
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-29 16:56

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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