2013-12-11 33 views
0

我有一個按鈕,我想點擊它,(並等待結果屏幕回來),其來源是如何獲得watir的點擊以解密javascript href?

<a href="javascript:document.form1.submit()" class="lrg_button" style="float:right">Submit</a> 

的代碼片段

browser.a(:text => "Submit").flash 
browser.a(:text => "Submit").click 

管理,以閃爍的按鈕,但不提交表單。

如何獲取執行的href中的javascript?

完整的形式是

<body> 
<form name="form1" method="post" action="index.php"> 
<div id="heading" style="display:block; margin:0 auto; text-align:center; width:500; border:1px solid #ccc; width:700px; background:#e8e8e8; margin-top:40px "> 
<img src="images/logosymbol.jpg" alt="logo"> 
<h1 class="loghead" style=" padding:20px 0; margin: 20px 0; color:#243f74">WELCOME TO COACHMASTER</h1> 
<table class="login" align="center" border="0" cellpadding="0" cellspacing="0" width="80%"><tbody> 
<tr><td> 
<table align="center" cellpadding="0" cellspacing="0" width="100%"><tbody> 
<tr><td class="logerror" colspan="2">Please enter your credentials</td></tr> 
<tr><td class="logprmt">Name:&nbsp;</td> 
<td class="logdata"><input name="UserName" size="16" type="text" value=""></td></tr> 
<tr><td class="logprmt">Password:&nbsp;</td> 
<td class="logdata"><input name="PassWord" size="16" onkeypress="return submitenter(this,event)" type="password"></td></tr> 
<tr><td colspan="2"> 
<a href="javascript:document.form1.submit()" class="lrg_button" style="float:right">Submit</a> 
</td></tr>  
</tbody></table> 
</td></tr> 
</tbody></table> 
</form> 
</div> 
</body></html> 

更新 - 。點擊命令送點東西給服務器。日誌包括「不斷所謂有用的」入口

IP [date] "-" 400 0 "-" "-" 

如果我真的按一下按鈕,它發送正確的POST到正確的網址,並沒有登錄如我所料。

+0

? – srquinn

+1

你使用什麼瀏覽器?您的瀏覽器和硒webdriver寶石是最新的?它似乎工作(即導航到index.php)爲我使用Firefox/Chrome與硒-webdriver 2.38。 –

回答

0

document.form1正在返回undefined,因爲您尚未查詢元素的DOM。錨元素的href屬性更改爲類似:

<a href="javascript:document.getElementById('form1').submit()" class="lrg_button" style="float:right">Submit</a> 

,然後你可以將窗體的HTML添加id屬性的表單元素

<form id="form1" ..> 
+0

在我進行此更改之前,代碼正常工作,但Watir失敗。在我做出這個改變之後,代碼和watir都沒有提交表單。 – Ian

+0

你可以發佈HTML嗎? – srquinn

+0

將id屬性添加到表單元素'

'然後我的發佈代碼應該可以工作 – srquinn