【发布时间】:2016-02-20 19:03:09
【问题描述】:
我有一些过去可以正常工作的代码,但由于某种原因,它已停止选择显示“您的联赛”的标签。 该代码将实时足球比分拉入excel。 我需要帮助的唯一一点是我需要从所有游戏导航到您的联赛(代码无法识别该按钮,因此无法单击它)。任何帮助将不胜感激。谢谢。
'Define Variables
url = "http://www.futbol24.com/Live/livenow/"
'Open url
ie.Visible = False
ie.Navigate url
frmbusy.lbstatus.AddItem "Navigating to Web Page"
busywait
'Navigate from ALL Games to Your Leagues
Set tagname = ie.Document.getelementsbytagname("*")
For z = 0 To tagname.Length - 1
If tagname(z).ID = "f24com_i18n_btnChooseLeague_your" Then
tagname(z).Click
busywait
End If
Next
【问题讨论】:
-
请查看该页面的HTML源代码,您会发现ID
f24com_btnChooseLeague_your不存在。 -
也没有一个标签显示“你的联赛”(至少当我查看它时没有,如果你登录可能会有所不同......)有时网站会改变它们的构建方式,并且发生这种情况时,您需要修改代码。
-
道歉。我已经更新了标签名称:“f24com_i18n_btnChooseLeague_your”,但它仍然没有点击它。谢谢。
-
Click 显然不是为这个控件做任何事情的事件。您可能想考虑使用 Selenium 包装器来自动化 IE/Firefox/Chrome,以我的经验,它比直接尝试直接自动化 IE 更可靠。此外,如果您的 IE 版本支持该方法,请考虑使用
ie.Document.getElementByID("f24com_i18n_btnChooseLeague_your"),那么您将不需要z循环,因为它将直接处理元素。您可能需要以某种方式操作父元素,但我无法确定。 -
另外,如果您可以将屏幕截图上传到 imgur.com 并指出 该控件或其父控件在页面上的位置,我真的找不到它,这使得很难排除故障。
标签: html excel vba button web-scraping