From: Phil Mcdonnell on 26 May 2010 02:24 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/.
From: Dimitri Df on 26 May 2010 10:56 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: > 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/.
From: Hassan Schroeder on 26 May 2010 13:48 On Tue, May 25, 2010 at 11:24 PM, Phil Mcdonnell <phil.a.mcdonnell(a)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;"> 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. :-) Either you have to find the appropriate method, or select that input element some other way. HTH, -- Hassan Schroeder ------------------------ hassan.schroeder(a)gmail.com twitter: @hassan
|
Pages: 1 Prev: The order of garbage collection Next: how to achieve parallelism, using threads? |