Watir - finding element in form

I'm trying to use Watir to log into a page. I can't seem to find the
login button in order to click on it. From the Watir examples I've read
it seems I need the following code:

browser = Watir::Safari.new
browser.goto @login_page
browser.text_field(:name, 'UserID').set(ARGV[0])
browser.text_field(:name, 'Password').set(ARGV[1])
browser.button(:alt, 'Login').click

However, the final line doesn't do anything. Note, the text_field lines
do correctly set the username and password. Any idea how to fix this?

Here's the relavent html:

<FORM NAME="frmLogon"
ACTION="/myca/logon/us/action?request_type=LogLogonHandler&location=us_logon1"
METHOD="POST" onkeypress="formSub(event)">

... lots of stuff ...

  <input type='image' src ="/myca/logon/us/shared/images/btn_login.gif"
alt="Login" style="margin-top:5;margin-left:20;margin-bottom:22" border
= "0" tabIndex='5' onClick="javascript:loginNow();return false;">

... lots of stuff ...

</FORM>

Also, the full site is here:
https://online.americanexpress.com/myca/logon/us/action?request_type=LogonHandler&Face=en_US&DestPage=https://www99.americanexpress.com/myca/acctsumm/us/action%3Frequest_type%3Dauthreg_acctAccountSummary%26us_nu%3Dlogincontrol&Info=CUExpired

···

--
Posted via http://www.ruby-forum.com/.

You could try to use :index to find the form you want and submit it that
way.
example: browser.form(:index, 1).submit
Or by using :name of the form
example: browser.form(:name, 'frmLogon').submit

Phil Mcdonnell wrote:

···

I'm trying to use Watir to log into a page. I can't seem to find the
login button in order to click on it. From the Watir examples I've read
it seems I need the following code:

browser = Watir::Safari.new
browser.goto @login_page
browser.text_field(:name, 'UserID').set(ARGV[0])
browser.text_field(:name, 'Password').set(ARGV[1])
browser.button(:alt, 'Login').click

However, the final line doesn't do anything. Note, the text_field lines
do correctly set the username and password. Any idea how to fix this?

Here's the relavent html:

<FORM NAME="frmLogon"
ACTION="/myca/logon/us/action?request_type=LogLogonHandler&location=us_logon1"
METHOD="POST" onkeypress="formSub(event)">

... lots of stuff ...

  <input type='image' src ="/myca/logon/us/shared/images/btn_login.gif"
alt="Login" style="margin-top:5;margin-left:20;margin-bottom:22" border
= "0" tabIndex='5' onClick="javascript:loginNow();return false;">

... lots of stuff ...

</FORM>

Also, the full site is here:
Login

--
Posted via http://www.ruby-forum.com/\.

I've never used Watir, but a quick glance at the API has this for the
"button" method --

"Used to access a button element. Usually an <input type = "button"> HTML tag."

Which the form snippet above clearly is not. So I'm not sure why you
expect this to work. :slight_smile:

Either you have to find the appropriate method, or select that input
element some other way.

HTH,

···

On Tue, May 25, 2010 at 11:24 PM, Phil Mcdonnell <phil.a.mcdonnell@gmail.com> wrote:

I'm trying to use Watir to log into a page. I can't seem to find the
login button in order to click on it. From the Watir examples I've read
it seems I need the following code:

browser.button(:alt, 'Login').click

However, the final line doesn't do anything.

Here's the relavent html:

<input type='image' src ="/myca/logon/us/shared/images/btn_login.gif"
alt="Login" style="margin-top:5;margin-left:20;margin-bottom:22" border
= "0" tabIndex='5' onClick="javascript:loginNow();return false;">

--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
twitter: @hassan