thank you very much, you are awesome

On Jan 9, 4:04 pm, "Charley Baker" <charley.ba...@gmail.com> wrote:
> if (browser.span(:id, Regexp.new("rptCourses_ctl00_rptItems_ctl" + numstring
> +"_lblItemTxtTitle")).exists?)
>
> otherwise calling text will throw an exception trying to locate the element.
>
> -c
>
>
>
> On Fri, Jan 9, 2009 at 10:38 AM, Bissquitt <bissqu...@gmail.com> wrote:
>
> > anyone have any idea why this isnt working? (or should I be making a
> > new topic for this?)
>
> > for x in 0..2 do
> >                  for y in 0..9 do
> >                      numstring = x.to_s + y.to_s
> >                      puts numstring
> >                      if (browser.span(:id, Regexp.new
> > ("rptCourses_ctl00_rptItems_ctl" + numstring +
> > "_lblItemTxtTitle")).text) then
> >                          var = browser.span(:id, Regexp.new
> > ("rptCourses_ctl00_rptItems_ctl" + numstring +
> > "_lblItemTxtTitle")).text
>
> > in theory (assuming 2 books on the page) when it reaches the 3rd book
> > the if will evaluate as false and the var = statement never gets
> > executed.
> > Im getting the first 2 books returning fine, then on the 3rd time
> > around puts numstring executes and then the program ends exit code 1
> > (it should go to the next page after uneventfully finishing the 2 for
> > loops.
>
> > The only thing I can think of is that its trying to call the above
> > with numstring = to 03, not finding it on the page and crashing.
> > however thats what the If is there to prevent. Any ideas or tips?
>
> > On Jan 4, 10:06 am, Bissquitt <bissqu...@gmail.com> wrote:
> > > ok thank you all so much. I got the majority of the code working. This
> > > is what I have so far.
>
> > > while contLoop do colVal = worksheet.Cells(row, 'a').Value
> > >       if (colVal) then
> > >           browser.goto("http://bookstore.umbc.edu/SelectCourses.aspx?
> > > src=2&type=2&stoid=9&trm=Spring%2009&cid=" + colVal)
>
> > >                   var = browser.span(:id, /
> > > rptCourses_ctl00_rptItems_ctl\d\d_lblItemTxtTitle/).text
> > >                   worksheet.Cells(row, 'b').value = var
>
> > >       else
> > >           contLoop = false
> > >       end
>
> > >       row +=  1
> > >       sleep 1
> > > end
>
> > > Do you know of an easy way to itterate through each span that watches
> > > the above regex and only ones that match or do I need to go through
> > > all and parse each individualy?
>
> > > I was trying something like this but i couldnt get it to work. (are
> > > span and spans the same? I only saw documentation for spans)
> > >                    browser.spans.each(:id, /
> > > rptCourses_ctl00_rptItems_ctl\d\d_lblItemTxtTitle/).text
>
> > > if that can't be done I guess I will just be storing each span into a
> > > string, look for the regex and go to next.
>
> > > Thanks again guys
>
> > > On Jan 3, 3:41 pm, "Charley Baker" <charley.ba...@gmail.com> wrote:
>
> > > > It can be a bit overwhelming to learn Ruby and various libraries at the
> > same
> > > > time. I'd recommend taking a look at the Pickaxe book:
> >http://whytheluckystiff.net/ruby/pickaxe/just to get some general
> > > > familiarity. There are other Ruby tutorials online as well as some good
> > > > books - The Ruby Way, Everyday Scripting, OReilly's Ruby book.
> > > > succ! as you mention below is a Ruby core method. Gotapi also has a
> > good
> > > > searchable reference to Ruby standard api.http://www.gotapi.com/html
> >  click
> > > > on the Ruby Standard Packages. The pickaxe book from the link above
> > also has
> > > > an index of the core api, many with examples.
> > > > Here's a link to the Watir rdocs in case you might find that useful.
> >http://wtr.rubyforge.org/rdoc/andalink to supported elements(though
> > > > openqa is down right now):
> >http://wiki.openqa.org/display/WTR/Methods+supported+by+Element
>
> > > > Strange that the hpricot site is down now as well.
>
> > > > Another useful way to learn how to use libraries in Ruby is by taking a
> > look
> > > > at their unit tests. Watir has a large number of unit tests, hpricot
> > has
> > > > some too. They're located under your ruby install directory in gems.
>
> > > > Ruby comes with a few documentation systems: ri and rdoc. For the gems
> > you
> > > > have installed locally you can see all of the rdocs by going to the
> > command
> > > > line, type:
> > > > gem server
> > > > Then browse tohttp://localhost:8808
> > > > ri can also be used from the command line:
> > > > ri String::succ!
>
> > > > Additional responses inline:
>
> > > > On Sat, Jan 3, 2009 at 10:31 AM, Bissquitt <bissqu...@gmail.com>
> > wrote:
>
> > > > > Regarding documentation, I read the Tutorial all the way through but
> > > > > it only hit on a few specific examples leaving out other commands all
> > > > > together. I've visited MANY ruby and watir sites and never once saw
> > > > > the .span command (does it just search for <span> tags? guess ill
> > > > > google it after this post) I never even found a site listing all the
> > > > > watir commands (http://us.php.net/manual/en/function.abs.php) as an
> > > > > example. In addition there are SO MANY tutorials and such online that
> > > > > are all very poorly done it makes finding a good one via google a
> > > > > needle in a haystack scenario. ie (oh great, you showed me that
> > > > > specific command, but showed me nothing about how that command works
> > > > > so unless I want to use it exactly the way you used it, its useless).
> > > > > My example here is the "ruby on windows" site. If I google for
> > > > > anything regarding ruby and excel I either get that site, or another
> > > > > site that just provides me a link to that site and am forced to make
> > > > > due with that site in order to teach myself how to interact with
> > > > > excel. The site itself lists a BUNCH of examples but leaves it up to
> > > > > you to try and pick apart the syntax to understand what it is doing.
> > > > > For example:
>
> > > > > line = '1'
> > > > > while worksheet.Range("a#{line}")['Value']
> > > > >   line.succ!
> > > > > end
> > > > > #line now holds row number of first empty row
>
> > > > > What on earth does .succ! do? It never tells me. The site, and most
> > > > > that ive seen, are written not to target new people and tutor them
> > but
> > > > > to target advanced users with a more "so heres a cool way to approach
> > > > > the problem" approach. A simple "ok, here is the the excel class,
> > here
> > > > > are the comands in it and what they do, here is a syntax example"
> > > > > would be far more helpful as it doesn't leave anything out. I'm still
> > > > > not sure if its possible to return what row the active cell is on.
>
> > > > Excel is a strange one. :) Agreed that most sites assume a basic
> > familiarity
> > > > with Ruby, and with the links above you should be able to get into it
> > fairly
> > > > quickly. Accessing Excel is done through it's COM interface, so one of
> > the
> > > > best sources of documentation is actually the Excel VBA Microsoft help
> > file.
> > > > There's a link to the standalone version of it somewhere on the
> > internets if
> > > > you don't have it installed. There are some excel libraries on our wiki
> > as
> > > > well as a project on Rubyforge called Rasta which use Excel. You can
> > browse
> > > > through the source code for those.
>
> > > > > ...Which is when I decided to ask actual people and ended up here.
> > > > > (thanks again btw)
>
> > > > > ...After that long winded response, I was trying to using Watir to
> > > > > scrape the page because I was having issues with the the javascript
> > > > > not being executed before the scrape (when i did it in php) and
> > > > > figured that a driven web brower would be sure to get it...hence
> > > > > watir.
>
> > > > Yep, makes sense. Watir is great at testing heavy js sites, ajaxy stuff
> > and
> > > > the generated DOM instead of the page source.
>
> > > > > The reason my example was not using watir is because I was unable to
> > > > > find any documentation on how to do what I needed. I saw the
> > > > > browser.links and browser.table but those were the only 2 I found,
> > > > > there was no, "here is a list of the commands" as I mentioned above.
> > > > > Consiquently I found even less on hpricot since all I get is a 404 on
> > > > > its main site, and every other site links to it so wether or not it
> > > > > was documented is irrelevent, all I have to work with is trying to
> > > > > piece together other peoples code and work with it.
>
> > > > > I don't quite follow your first example since I am barely familiar
> > > > > with ruby syntax (though it appears to be similar to java) what is
> > the
> > > > > |s| ?
>
> > > >  browser.spans.each {|s| puts s.text}
> > > > Ruby is different than Java, C++ and some other languages in this
> > respect,
> > > > Ruby uses internal iterators instead of the external iterators used in
> > Java.
> > > > So in this example, spans is a collection of spans on the page, similar
> > > > collections exist for other html elements - divs, links, lis, etc. The
> > > > collection is enumerable with each. each takes a block (surrounded by
> > curly
> > > > braces or do...end), iterates through each item and passes it to |s| in
> > this
> > > > case. So for each span it sends it in, assigns it to the local variable
> > s,
> > > > and then you can do what you want with each one.
>
> > > > > Your second example seems to be much closer to what I need since
> > there
> > > > > are MANY spans on the page but only a handfull matching the regexp
> > > > > pattern I gave above.
>
> > > > > Would you be able to break down the second example for me?
>
> > > > > var = browser.span(:id, /ctl/).text
>
> > > > > I know:
> > > > > var is the variable being stored into
> > > > > browser is the watir browser object being driven
> > > > > I'm guessing span just looks for span tags?
> > > > > I'm also guessing that (:id, /ctl/) looks for any span tag with an id
> > > > > matching /ctl/ ? (this is where im not following you as much)
> > > > > what does the : in your example do? what exactly is the second
> > > > > argument doing, what are
>
> ...
>
> read more »- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Watir General" group.
To post to this group, send email to watir-general@googlegroups.com
Before posting, please read the following guidelines: 
http://wiki.openqa.org/display/WTR/Support
To unsubscribe from this group, send email to 
watir-general-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/watir-general
-~----------~----~----~----~------~----~------~--~---

Reply via email to