There is no property of class for iframe in watir

November 2nd, 2009 No comments

I encountered an iframe in a webpage which say “iframe class = “the_iframe”, I tried but failed to access the iframe by:
ie.frame(:class, “the_iframe”)

and then I figured out there is no property of class for iframe in watir, and find the iframe by index:
ie.frame(:index, 1)

we can use ie.show_frames to find how many frames are there in a webpage.

Categories: watir Tags: , ,

Be careful to “include Watir”

October 29th, 2009 No comments

When we have the “include Watir”, then we cannot load another ruby file.

I spent more than 1 hour to figure out this.

Categories: watir Tags:

Multiple ruby files work together

October 29th, 2009 No comments

When writing the first few Ruby programs, there is a tend to place all the code in a single file. But as time passes by and the Ruby programs grow, it is nature that at some point we have to break our code up into logical groupings and place each group in a separate file or files.

following is an examle:

in foo.rb:
puts “it is foo”
$foo = 3 # $ for global variable

in bar.rb:
puts “it is bar”
$bar = 3 # $ for global variable

in test.rb:
require ‘foo’ # pay attention –no “.rb”
load ‘bar.rb’ # pay attention — “.rb” is there
test = 1 + $foo + $bar

when execute test.rb, it shows :
it is foo
it is bar
9

Categories: ruby Tags:

watir to count the links in a search list on a webpage

October 27th, 2009 No comments

Some times I need to check the amount of the links in a search list, at first I try and failed by:
ie.links(:id, /bra bra/).length

and then I find a solution by:
ie.div(:id, “searchList”).links

and then by googles, I find a better solution:
links_searchlist = ie101.links.find_all { |link| link.class_name == ‘permalink’ }
puts “the links in the searchlist:”
puts links_searchlist.length

and in another case, following code also works:
searchlistlinks = ie102.links.find_all { |link| link.id =~ /hitURL/ }
links_searchlist = searchlistlinks.length
puts links_searchlist

following can also work:
searchlistlinks = ie33.links.find_all { |link| link.href =~ /something/ }
but be careful that the following (url) will not work:
searchlistlinks = ie33.links.find_all { |link| link.url =~ /something/ }

Recently I found the best solution by google:
links = ie51.div(:id, ‘threadlist’).html.scan(/something/).count
puts links

Categories: watir Tags: ,

Gems for web scrape

October 23rd, 2009 No comments

I just put the names of the gems here for future reference:
hpricot
nokogiri
mechanize
webrat
scrubyt

Categories: watir Tags: , , , ,

The most useful site for watir

October 23rd, 2009 No comments

I always googles when I encounter any problem related to watir, but after these years’ practice, I will state that the most useful site for watir is http://wtr.rubyforge.org/rdoc/, most answer is already there.

Categories: watir Tags: