我正在写一个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