我正在寫一個vba程序來與網站交互並自動填寫表單。我已經獲得了其他類型的鏈接,但是有一些鏈接可以擴展表單的隱藏部分。這些在使用下面的代碼時不起作用。我需要知道是否有辦法做到這一點。html onClick事件不會用vba觸發
下面是HTML源代碼:
<a name="diForm:addProductSizeLnk" id="diForm:addProductSizeLnk" style="float: right;"
onclick="jsf.util.chain(document.getElementById('diForm:addProductSizeLnk'),
event,'jsf.ajax.request(\'diForm:addProductSizeLnk\',event,{execute:\'@none \',
render:\'@none \',onevent:function(data){showEditor(data,\'diForm:productSizeEditor\',
\'diForm:productSizeAddDiv\', false ? \'diForm:in_clinicallyRelSizeText\' :
\'diForm:in_clinRelSizeType\')},\'javax.faces.behavior.event\':\'action\'})');
return false;" href="#">
我已經正確地引用鏈接和我使用下面的代碼:
For j = 0 To objCollectionA.Length - 1
If objCollectionA(j).Name = "diForm:addProductSizeLnk" Then
objCollectionA(j).FireEvent ("onclick")
End If
Next
有什麼建議?
在亞馬遜網站上,它不那麼簡單,稱爲事件。找到該控件的父窗體並在所有輸入提交該窗體後。 – cyboashu
您可以發佈整個VBA代碼,包括'objCollectionA'變量初始化。你有沒有嘗試'oIE.document.getElementById(「diForm:addProductSizeLnk」)。click'?並且不要忘記等待元素準備就緒。還要模擬點擊,你可以創建鼠標事件對象Set oMouseEvt = oIE.document.createEvent(「MouseEvents」)',初始化它'oMouseEvt.initMouseEvent「click」,True,True,.document.parentWindow,0,1, 1,1,1,False,False,True,False,0,「」並將其分派給目標元素oIE.document.getElementById(「diForm:addProductSizeLnk」)。dispatchEvent oMouseEvt'。 – omegastripes