2013-01-20 48 views
0

我收到错误的代码以下部分:我收到(..)的错误,每个都有| x | ..结束红宝石

element = driver.find_element :name => "used_by" 
element.send_keys "371101" 
element = driver.find_element :name => "btnSearch" 
element.click 
all_table_data = driver.find_element(:tag_name, "td").text 

all_table_data.each do |td| 
    puts td.text 
end 
print element 

错误:

D:\Ruby script>ruby filedownload.rb 
filedownload.rb:24:in `<main>': undefined method `each' for #<Selenium::WebDrive 
r::Element:0x2556be8> (NoMethodError) 

D:\Ruby script> 

谁能帮助我解决这个错误吗?

+0

任何一个可以考虑上面的错误? – DoLoveSky

回答

2

find_element只返回第一个匹配给定参数的元素。

什么,你可能什么find_elements method它能找到匹配给定参数的所有元素:

all_table_data = driver.find_elements(:tag_name, "td") 

all_table_data.each do |td| 
    puts td.text 
end 
+0

我仍然有同样的错误 – DoLoveSky

+0

你确定你正在运行修改后的代码吗?因为您无法获得相同的错误消息...您正在使用哪个版本的WebDriver? – nemesv

+0

我刚接受,你的回答。它以前是抛出一个错误,没有完美运行! :)我用[doc](http://seleniumhq.org/docs/03_webdriver.jsp)。你提到另一个。那么你能告诉我哪一个最好吗? – DoLoveSky