Internet explorer javascript无法使用VBA调用IE
Internet explorer javascript无法使用VBA调用IE,internet-explorer,vba,click,option,Internet Explorer,Vba,Click,Option,我试图通过VBA程序单击下拉选项列表。但是选项的选择起作用,但是与点击相关联的javascript不起作用。 我尝试了这两个选项-。单击并聚焦。 但这两个函数都不会调用相关的javascript。 请参见下面的代码 Set ElementCol = appIE.Document.getElementsByTagName("option") For Each obj In ElementCol If obj.innerHTML = "abc" Then obj.Selected
我试图通过VBA程序单击下拉选项列表。但是选项的选择起作用,但是与点击相关联的javascript不起作用。 我尝试了这两个选项-。单击并聚焦。 但这两个函数都不会调用相关的javascript。 请参见下面的代码
Set ElementCol = appIE.Document.getElementsByTagName("option")
For Each obj In ElementCol
If obj.innerHTML = "abc" Then
obj.Selected = True
obj.Focus
obj.click
Exit For
End If
Next obj
在IE中,
<select>
<option value="abc">abc </option>
<option value="def">def</option>
</select>
提前谢谢你的帮助
问候,,
塞缪尔·马修斯这个怎么样:
Sub DOM_SetSelect()
Dim oIE As Object
Dim oBody As Variant
Dim oSelect As Variant
Set oIE = CreateObject("InternetExplorer.Application")
oIE.Visible = True
oIE.Navigate ("http://www.tizag.com/htmlT/htmlselect.php")
While oIE.ReadyState <> 4
DoEvents
Wend
Set oBody = oIE.Document.body
Set oSelect = oBody.GetElementsByTagName("select")(0)
oSelect.selectedindex = 2
End Sub
FireEvent用于触发附加到任何元素的javascript事件 试试这个 obj.fireventonclick 你甚至可以试试这个
obj.execScript onclick,JavaScript但是选项的选择起作用,但是与单击关联的JavaScript不起作用。我没有看到任何Javascript?在DOM Ready上使用Javascript或jQuery只需一行代码就可以实现这一点,比在VBA中实现这一点简单/快速得多。我真的看不出这有什么用。。我不是开发网站的负责人。。只是尝试通过VBA自动化手动表单提交。javascript代码没有给出,因为它违反了策略。。这一节提到了…非常感谢@金和桑托什。。。我会查一查让你知道。。。再次感谢@基姆。。作为vba的新手,我有一个疑问。。我们仅通过标记/值获取元素。但是我们没有正确调用click事件。。你能帮我做同样的事吗。我只是尝试了这段代码,但没有看到任何变化发生的是,您直接在DOM中查找并更改元素的值,而不是触发一个Javascript单击事件来为您处理这个问题。如果没有看到更改,则可能没有更改正确的值;只需在页面上单击鼠标右键并查看源HTML。@kim gysen我试过你的ans。。对象fireeventonclick。。但我看不到任何回应…:我们必须使用onclick还是onchange。。因为代码调用javascript onchange事件。。。但我用它显示了错误:请引导我。。提前谢谢@SamuelMathews您可以发布obj的实际视图源。
oSelect.value = "CA" 'in the demo website that I've added