单击带有VBA的网页按钮

时间:2013-12-07 17:55:43

标签: javascript vba excel-vba excel

我正在尝试点击下面代码中显示的网页底部的“显示过夜”按钮

Set IE = CreateObject("InternetExplorer.Application")

With IE
    .Visible = True
    .navigate "http://tvlistings.zap2it.com/tv/movies-on-tv?aid=zap2it&tod=rightNow&vn=sm"
    .Top = 50
    .Left = 530
    .Height = 400
    .Width = 400

Do Until Not IE.Busy And IE.readyState = 4
    DoEvents
Loop

End With

我已尝试使用以下代码单击按钮但未成功

IE.Document.GetElementsByClassName("zc-item-button").Item(1).Click

IE.Document.GetElementsByClassName("zc-item-button").Item(1).FireEvent ("click()")

我认为相关的源代码是:

<div class="zc-item-button">
    <a href="" onclick="$('#overnight-bucket').show();$('#overnight-bucket').find('.open').each(function(){writeShows($(this));});$(this).hide();return false;" class="">Show Overnight</a>
</div>

感谢您的帮助,我很感激...... Ron

2 个答案:

答案 0 :(得分:1)

你的getelementsbyclassname只获取没有点击处理程序的div元素。您需要单击第一个子元素。您可以在div上使用getelementsbytagname(“a”)来获取链接的句柄。

答案 1 :(得分:1)

或使用以下项中的CSS selector

a[onclick*='#overnight-bucket']

这表示带有a标签的元素具有属性onlick,该属性包含字符串'#overnight-bucket'


CSS查询:

CSS query


VBA:

您使用document的{​​{3}}方法应用CSS选择器。

.document.querySelector("a[onclick*='#overnight-bucket']").Click