我不能爲我的生活找出如何用VBA點擊下面的按鈕。任何幫助,將不勝感激。我已經能夠填充用戶名/密碼字段,因爲他們有一個名稱,所以我使用getElementsByName,但該按鈕沒有名稱或ID。當按鈕沒有名字/ ID時,點擊帶有VBA的JS按鈕
的特定按鈕的代碼是:
<table class="button"><tr><td><div class="button-left"><input type="submit" class="form-button" value="Submit" >
以下是完整的腳本/表單代碼的情況下,它可以幫助
<form name="loginFormBean" method="post" action="/XXXXXXXX/login.do" onsubmit="return validateForm(this)">
<TABLE border="0" cellpadding="5" cellspacing="0">
<TR>
<TD class="bigGreyContent" nowrap>User ID</TD>
<TD class="bigGreyContent" align="left">
<input type="text" name="username" maxlength="50" size="40" value="" class="bgGreenColor">
</TD>
</TR>
<TR>
<TD class="bigGreyContent" nowrap>Password</TD>
<TD class="bigGreyContent" align="left">
<input type="password" name="password" maxlength="50" size="40" value="" class="bgGreenColor">
</TD>
</TR>
<TR>
<TD colspan="2" align="center">
<BR>
<table class="button"><tr><td><div class="button-left"><input type="submit" class="form-button" value="Submit" ></div><div class="button-right"></div></td></tr></table>
</TD>
</TR>
</TABLE>
</form>
編輯:我已經啓用了以下引用(除了默認):
Microsoft HTML Object Library Microsoft Internet Controls Microsoft WinHTTP Services,Version 5.1 微軟XML,V6.0
我當前的代碼是:
Sub XXXX()
Dim objIE As InternetExplorer
Dim http As New MSXML2.XMLHTTP60
Dim html As New HTMLDocument
Dim btn As Object
Set objIE = New InternetExplorer
Set btn = html.getElementsByClassName("button-left")(0).getElementsByTagName("input")(0)
objIE.Visible = True
objIE.navigate "http://XXXX/login.jsp"
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
objIE.document.getElementsByName("username")(0).Value = "XXXX"
objIE.document.getElementsByName("password")(0).Value = "YYYY"
btn.Click
End Sub
感謝您的回覆,但是我收到以'Set btn'開頭的行上的424/Object Required錯誤,有什麼想法?從我所知道的情況來看,這是左按鈕的第一個實例。 – Hydengard
請確保您的代碼中包含以下內容:'Dim http As New MSXML2.XMLHTTP60' Dim html As New HTMLDocument'Dim btn As Object'。如果它仍然不起作用,請分享您的代碼,這樣我就可以停止猜測問題是什麼。 – Tehscript
我已經添加了上面的代碼和其他信息。現在我添加了您提供的兩個額外的Dim,我得到一個91/Object變量或塊變量未設置錯誤,與之前一樣。 – Hydengard