您的位置:首页 > 编程语言 > Ruby

ruby 中使用 Dom技术来查找页面元素 [ 光影人像 东海陈光剑 的博客 ]

2015-01-27 11:24 387 查看
有些时候可能会根据一些有限的信息,来查找页面的元素,这里举一个例子利用页面文字来查找所在的标签,以淘宝的登录页面为例,使用以下代码可以实现根据账户名来识别对应的节点名称: require 'watir'#ie = Watir::IE.attach(:url, /member1.taobao.com/)ie = Watir::IE.start("http://member1.taobao.com/member/login.jhtml?ssl=false")def find_tag_by_text(ie,textName)  all_elements = ie.document.body.all  all_elements.each do |object|    if object.innerText.match(textName)      flag = false      all_children = object.children      #如果子对象匹配到,那么退出,退出后flag为true      all_children.each do |child|        if child.innerText.match(textName)          flag = true          break        else          next        end      end#      当子节点匹配不到text时,那么表示已经查到了终点      unless flag        puts object.tagName             break      end    end  endendfind_tag_by_text(ie,"账户名")如果要得到该节点的父节点,可以写成:  unless flag        parent = object.parentElement        puts parent.tagName            break  end如果要得到该节点子节点,可以写成:    unless flag         children = object.children        puts "_____________"        children.each do |child|          puts child.tagName         break  end

我们从来只做一件事,分享.
让美在这个世界流转
让倍感无趣的 受伤的 彷徨的 孤独的 或是心情忧郁的 人生黯淡的人们
能有一次机会
去再一次发现这个世界的美
并把美传递给他人
---光影人像(Follow WeChat public number with interest)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐