如何为Selenium :: WebDriver :: Element的每个子元素执行某些操作

时间:2014-03-18 16:47:28

标签: ruby selenium

我正在使用selenium-webdriver从网站获取信息。

目前我得到像这样的当前元素的子元素。

tr_element.find_elements(:xpath, "./td").each{|td| p td.text }

tr_elementSelenium::WebDriver::Element

是否有一种方法可以启用tr_element.children.each{|td| p td.text }

1 个答案:

答案 0 :(得分:1)

你可以这样做:

class Selenium::WebDriver::Element
  def children
    self.find_elements(:xpath, "./*")
  end
end

此代码使用Element.find_elements(使用给定元素作为根节点搜索元素)的方法扩展Element类,然后使用xpath搜索根节点的所有直接子节点(请参阅here有关xpath语法的解释。)