Watir - finding element in form

P

Phil Mcdonnell

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/...ountSummary&us_nu=logincontrol&Info=CUExpired
 
D

Dimitri Df

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 said:
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/...ountSummary&us_nu=logincontrol&Info=CUExpired
 
H

Hassan Schroeder

I'm trying to use Watir to log into a page. =A0I can't seem to find the
login button in order to click on it. =A0From the Watir examples I've rea= d
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:
=A0<input type=3D'image' src =3D"/myca/logon/us/shared/images/btn_login.g= if"
alt=3D"Login" style=3D"margin-top:5;margin-left:20;margin-bottom:22" bord= er
=3D "0" tabIndex=3D'5' onClick=3D"javascript:loginNow();return false;">

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 =3D "button"> HTML=
tag."

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

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

HTH,
--=20
Hassan Schroeder ------------------------ (e-mail address removed)
twitter: @hassan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,813
Latest member
lawrwtwinkle111

Latest Threads

Top