#excel #vba #automation
Вопрос:
Я новичок в VBA и новичок в переполнении стека. Я много искал,как автоматизировать Internet Explorer (IE) с помощью VBA, и какой-то сайт работает, но я не могу войти на этот сайт с помощью того же кода(я просматриваю html сайта и меняю имя). Я не могу найти проблему,код может быть запущен без ошибок,имя пользователя и пароль могут отображаться на странице ,но нажатие кнопки входа не отвечает.
Частичная HTML-копия с веб-сайта Fundrich
<input type="text" style="tap-highlight-color:rgba(0,0,0,0);padding:0;position:relative;width:100%;height:100%;border:none;outline:none;background-color:transparent;color:rgba(0, 0, 0, 0.87);font:inherit;box-sizing:border-box;margin-top:14px;text-transform:uppercase;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;" value="" data-reactid="19"/input>
<input type="password" style="tap-highlight-color:rgba(0,0,0,0);padding:0;position:relative;width:100%;height:100%;border:none;outline:none;background-color:transparent;color:rgba(0, 0, 0, 0.87);font:inherit;box-sizing:border-box;margin-top:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;" value="" data-reactid="31"/input>
<button> class="button " style="border:10px;background:none;box-sizing:border-box;display:inline-block;font:inherit;font-family:amp;quot;微軟正黑體amp;quot;,Microsoft JhengHei,SimHei,amp;quot;新細明體amp;quot;, Arial,Verdana,Helvetica,sans-serif;tap-highlight-color:rgba(0, 0, 0, 0);appearance:button;cursor:pointer;text-decoration:none;outline:none;transform:translate3d(0, 0, 0);color:#FFF;transition:all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;font-size:17px;letter-spacing:0;text-transform:none;font-weight:500;border-radius:0px;user-select:none;position:relative;overflow:hidden;background-color:#343b4b;line-height:30px;min-width:70px;padding:10px 0px 11px 0px;margin:0px;height:50px;white-space:nowrap;width:85%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transition:all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;-moz-transition:all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;-ms-transition:all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;" tabindex="0" type="button" data-reactid="52">
<div data-reactid="53">
<span style="position:relative;padding-left:16px;padding-right:16px;" data-reactid="54">登入</span>
</div>
</button>
Sub Fundrich()
Dim i As Variant, vDoc As Object, IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate ("https://www.fundrich.com.tw/login.html?redirect=/ECWeb2/#/quotaCompo")
IE.Visible = True
With IE
.Navigate "https://www.fundrich.com.tw/login.html?redirect=/ECWeb2/#/quotaCompo"
Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
Set vDoc = .Document.getElementsByTagName("INPUT")
For i = 0 To vDoc.Length - 1
If vDoc(i).Type = "text" Then vDoc(i).Value = "testusername" '
If vDoc(i).Type = "password" Then vDoc(i).Value = "testpassword"
Next
Set vDoc = .Document.getElementsByTagName("button") '.Click
Application.wait (Now TimeValue("0:00:02"))
vDoc(0).Click
End With
End Sub