# How to get Response URL value - help requested

**URL:** <https://www.ruby-forum.com/t/how-to-get-response-url-value-help-requested/70446>\
**Category:** Ruby\
**Created:** [September 29, 2006, 8:06am UTC](https://www.ruby-forum.com/t/how-to-get-response-url-value-help-requested/70446 "2006-09-29T08:06:59Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![snoops](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/13edae/32.png) [@snoops](https://www.ruby-forum.com/u/snoops)\
**Post date:** [September 29, 2006, 8:06am UTC](https://www.ruby-forum.com/t/how-to-get-response-url-value-help-requested/70446/1 "2006-09-29T08:06:59Z")

</div>

Hi,  
I have a problem here.  
I have a ruby code that opens Google, types “book stores” and clicks on  
“Search” button.

# Code Snippet Begins here

require ‘net/http’  
require ‘uri’  
require ‘watir’

term=“book stores”

url1 = ‘[http://www.google.com](http://www.google.com)’  
ie = Watir::IE.start(url1)  
ie.text\_field(:name, “q”).set(term)  
ie.button(:name, “btnG”).click

# Code Snippet Ends here

Now I need to obtain the value of the response URL generated by this  
search and assign it to a variable.  
[i.e. [book stores - Google Search](http://www.google.com/search?hl=en&lr=&q=book+stores)]

How do I read the HTTP Header information for the “location” attribute?  
Any help is greatly appreciated.

Thanks,  
Madu

---

<div class="post-metadata">

**Author:** ![snoops](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/13edae/32.png) [@snoops](https://www.ruby-forum.com/u/snoops)\
**Post date:** [September 30, 2006, 12:11am UTC](https://www.ruby-forum.com/t/how-to-get-response-url-value-help-requested/70446/2 "2006-09-30T00:11:15Z")

</div>

Any help appreciated… Please let know.

Thanks again,  
Madu

Madu Nar wrote:

> Hi,  
> I have a problem here.  
> I have a ruby code that opens Google, types “book stores” and clicks on  
> “Search” button.
> 
> # Code Snippet Begins here
> 
> require ‘net/http’  
> require ‘uri’  
> require ‘watir’
> 
> term=“book stores”
> 
> url1 = ‘[http://www.google.com](http://www.google.com)’  
> ie = Watir::IE.start(url1)  
> ie.text\_field(:name, “q”).set(term)  
> ie.button(:name, “btnG”).click
> 
> # Code Snippet Ends here
> 
> Now I need to obtain the value of the response URL generated by this  
> search and assign it to a variable.  
> [i.e. [book stores - Google Search](http://www.google.com/search?hl=en&lr=&q=book+stores)]
> 
> How do I read the HTTP Header information for the “location” attribute?  
> Any help is greatly appreciated.
> 
> Thanks,  
> Madu

---

<div class="post-metadata">

**Author:** ![snoops](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/13edae/32.png) [@snoops](https://www.ruby-forum.com/u/snoops)\
**Post date:** [September 30, 2006, 1:50am UTC](https://www.ruby-forum.com/t/how-to-get-response-url-value-help-requested/70446/3 "2006-09-30T01:50:48Z")

</div>

On Sep 30, 2006, at 1:11 AM, Madu Nar wrote:

> > How do I read the HTTP Header information for the “location”  
> > attribute?  
> > Any help is greatly appreciated.
> > 
> > Thanks,  
> > Madu

I have no experience with Watir whatsoever, but the docs show there’s  
a url() method.

[http://wtr.rubyforge.org/rdoc/classes/Watir/IE.html#M000293](http://wtr.rubyforge.org/rdoc/classes/Watir/IE.html#M000293)

Did you check it out?

Andrei

---

<div class="post-metadata">

**Author:** ![snoops](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/13edae/32.png) [@snoops](https://www.ruby-forum.com/u/snoops)\
**Post date:** [October 1, 2006, 12:34am UTC](https://www.ruby-forum.com/t/how-to-get-response-url-value-help-requested/70446/4 "2006-10-01T00:34:53Z")

</div>

Andrei M. wrote:

> On Sep 30, 2006, at 1:11 AM, Madu Nar wrote:
> 
> > > How do I read the HTTP Header information for the “location”  
> > > attribute?  
> > > Any help is greatly appreciated.
> > > 
> > > Thanks,  
> > > Madu
> 
> I have no experience with Watir whatsoever, but the docs show there’s  
> a url() method.
> 
> [http://wtr.rubyforge.org/rdoc/classes/Watir/IE.html#M000293](http://wtr.rubyforge.org/rdoc/classes/Watir/IE.html#M000293)
> 
> Did you check it out?
> 
> Andrei

Thanks Andrei,  
Did try the url() function from Watir but that did not work and gave me  
the following exceptions…  
c:/ruby/lib/ruby/site\_ruby/1.8/watir.rb:1405:in `method_missing' c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1405:in `wait’  
c:/ruby/lib/ruby/site\_ruby/1.8/watir.rb:1404:in `upto' c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1404:in `wait’  
c:/ruby/lib/ruby/site\_ruby/1.8/watir.rb:2014:in `click’  
nethttp\_1.rb:16  
W, [30-Sep-2006 15:33:33#2288] WARN – : frame error in waitdocument  
OLE error code:80070005 in   
Access is denied.

```
HRESULT error code:0x80020009
  Exception occurred.

```

c:/ruby/lib/ruby/site\_ruby/1.8/watir.rb:1405:in `method_missing' c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1405:in `wait’  
c:/ruby/lib/ruby/site\_ruby/1.8/watir.rb:1404:in `upto' c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1404:in `wait’  
nethttp\_1.rb:22

I am still trying but not successful yet.

Thanks,  
Madu

---

<div class="post-metadata">

**Author:** ![snoops](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/13edae/32.png) [@snoops](https://www.ruby-forum.com/u/snoops)\
**Post date:** [October 11, 2006, 2:51am UTC](https://www.ruby-forum.com/t/how-to-get-response-url-value-help-requested/70446/5 "2006-10-11T02:51:27Z")

</div>

> How do I read the HTTP Header information for the “location” attribute?  
> Any help is greatly appreciated.

This information is not available in Watir. You could use a http proxy  
to get this information.

Bret

---

<div class="post-metadata">

**Author:** ![snoops](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/13edae/32.png) [@snoops](https://www.ruby-forum.com/u/snoops)\
**Post date:** [October 18, 2006, 10:39am UTC](https://www.ruby-forum.com/t/how-to-get-response-url-value-help-requested/70446/6 "2006-10-18T10:39:16Z")

</div>

You can try SWExplorerAutomation SWEA ([http://webunittesting.com](http://webunittesting.com)).

Example:

require ‘rubyclr’  
RubyClr::reference ‘System’  
RubyClr::reference ‘SWExplorerAutomationClient’  
include SWExplorerAutomation::Client  
include SWExplorerAutomation::Client::Controls  
include SWExplorerAutomation::Client::DialogControls  
explorerManager = ExplorerManager.new  
explorerManager.Connect(-1)  
explorerManager.LoadProject(‘google.htp’)  
explorerManager.Navigate(‘[http://www.google.com/](http://www.google.com/)’)  
scene = explorerManager[‘Scene\_0’]  
scene.WaitForActive(30000)  
scene[“q”].Value = ‘c#’  
scene[‘btnG’].Click()  
scene = explorerManager[‘Scene\_1’]  
scene.WaitForActive(30000)  
puts scene.RuntimeSceneInfo.Url  
explorerManager.DisconnectAndClose()

Result:  
D:\Temp\>test.rb  
[http://www.google.com/search?hl=en&q=c%23&btnG=Google+Search](http://www.google.com/search?hl=en&q=c%23&btnG=Google+Search)

RubyCLR. Complete Installation Guide:  
[http://gaech.blogspot.com/2006/10/rubyclr-complete-installation-guide.html](http://gaech.blogspot.com/2006/10/rubyclr-complete-installation-guide.html)

---

<div class="post-metadata">

**Author:** ![snoops](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/13edae/32.png) [@snoops](https://www.ruby-forum.com/u/snoops)\
**Post date:** [October 18, 2006, 10:39am UTC](https://www.ruby-forum.com/t/how-to-get-response-url-value-help-requested/70446/7 "2006-10-18T10:39:17Z")

</div>

You can try SWExplorerAutomation SWEA ([http://webunittesting.com](http://webunittesting.com)).

Example:

require ‘rubyclr’  
RubyClr::reference ‘System’  
RubyClr::reference ‘SWExplorerAutomationClient’  
include SWExplorerAutomation::Client  
include SWExplorerAutomation::Client::Controls  
include SWExplorerAutomation::Client::DialogControls  
explorerManager = ExplorerManager.new  
explorerManager.Connect(-1)  
explorerManager.LoadProject(‘google.htp’)  
explorerManager.Navigate(‘[http://www.google.com/](http://www.google.com/)’)  
scene = explorerManager[‘Scene\_0’]  
scene.WaitForActive(30000)  
scene[“q”].Value = ‘c#’  
scene[‘btnG’].Click()  
scene = explorerManager[‘Scene\_1’]  
scene.WaitForActive(30000)  
puts scene.RuntimeSceneInfo.Url  
explorerManager.DisconnectAndClose()

Result:  
D:\Temp\>test.rb  
[http://www.google.com/search?hl=en&q=c%23&btnG=Google+Search](http://www.google.com/search?hl=en&q=c%23&btnG=Google+Search)

RubyCLR. Complete Installation Guide:  
[http://gaech.blogspot.com/2006/10/rubyclr-complete-installation-guide.html](http://gaech.blogspot.com/2006/10/rubyclr-complete-installation-guide.html)
