簡體   English   中英

通過 VBA 在網頁上輸入字段時遇到問題

[英]Trouble with entering fields on a webpage via VBA

我正在 Excel 中創建一個工具,它將瀏覽網頁並挑選出一些數據(想法是能夠在需要時點擊此按鈕並獲取更新的數據)

但是我無法通過登錄頁面。

這是我的代碼(我已取出網頁並登錄詳細信息)

`私有子 GoButton_Click()

Dim myURL As String
Dim IE As Object
Dim doc As htmlDocument

myURL = "www.myWebPage"
Set IE = CreateObject("InternetExplorer.Application")

With IE
    .Visible = True
    .Navigate myURL

    Do Until .READYSTATE = 4: DoEvents: Loop
    Set doc = IE.document

    Call findObjectToClick("cmdSubmit") 'Click on Log in Button

    Do Until .READYSTATE = 4: DoEvents: Loop
    Set doc = IE.document

    doc.getElementsByName("email")(0).Value = "myEmailAddress@test.com" 'enter email
    doc.getElementsByName("password")(0).Value = "myPassword" 'enter password
    doc.getElementsByName("submit")(0).Click 'click log in

End With

結束子`

第一部分一切正常,它加載主頁並單擊登錄按鈕並轉到登錄頁面。

它更新登錄頁面上的值。

登錄頁面填寫

但是當它執行點擊時,頁面的行為就像用戶名和密碼字段為空白一樣,如果我點擊網頁(通常不是通過 vba),字段 go 為空白,我的用戶名和密碼消失

代碼嘗試單擊登錄按鈕后的登錄頁面

我已經嘗試在網上尋找解決方案,這似乎是一個常見問題,但我一直無法找到解決方法。

我嘗試在為字段分配值后放置此代碼,但這沒有幫助

Set evt = IE.document.createEvent("keyboardevent")
evt.initEvent "change", True, False
doc.getElementsByName("email")(0).dispatchEvent evt

請問有什么建議嗎? 這是我項目中最簡單的部分。

僅供參考,如果其他人遇到此問題。

我設法通過使用 selenium 插件解決了這個問題。它比我上面使用的方法更好地模擬按鈕按下

引用此頁面中發布的答案無法使用 VBA 在網頁中輸入用戶名和密碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM