首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA Web自动化

VBA Web自动化
EN

Stack Overflow用户
提问于 2016-07-06 19:47:25
回答 2查看 1.3K关注 0票数 4

我正在尝试编写一个宏,以便从门户网站访问数据,在该门户网站上,我需要启动网站并单击“在excel中打开”按钮。

我已经很好地打开了网页,但我不能不点击链接。我的理解是,我应该能够做一些类似的事情:

代码语言:javascript
复制
BrowswerObject.Document.ElementID.Click

但是我不确定正确的元素和编码是什么。在一个网页上,当我检查元素时,它有这样的代码:

代码语言:javascript
复制
<A onclick=ur_Button_click(event); tabIndex=0 id=BUTTON_TOOLBAR_STANDARD_btn7_acButton title="Open in Excel" class=urBtnStd onkeydown=ur_Button_keypress(event); style="OVERFLOW: visible; TEXT-ALIGN: center" href="javascript:void(0);" ct="B" ti="0" st="" ocl="sapbi_page.sendCommandArray([['GUID','11',0],['NOUILOCK','X',0],['BI_COMMAND_TYPE','ABSTRACT',0]],event);">Open in Excel</A>

有没有人能指出我应该关注的是什么?

编辑:我已尝试getElementByID,但遇到此错误:对象‘IWebBrowser2’的方法‘Document’失败

示例代码是:

代码语言:javascript
复制
Dim ie As Object
    Set ie = CreateObject("Internetexplorer.Application")
    ie.Visible = True
    ie.Navigate *Link*

    ie.document.getElementById("BUTTON_TOOLBAR_STANDARD_btn7_acButton ").Click
EN

回答 2

Stack Overflow用户

发布于 2018-06-08 20:43:18

根据页面上有多少相似元素,您可以尝试使用CSS选择器

下面的代码将选择您需要的HTML代码

代码语言:javascript
复制
a[onclick*='ur_Button_click(event)']

CSS查询

VBA:

代码语言:javascript
复制
ie.document.querySelector("a[onclick*='ur_Button_click(event)']").Click

如果有多个匹配项,您可以使用:

代码语言:javascript
复制
ie.document.querySelectorAll("a[onclick*='ur_Button_click(event)']") 

返回匹配项的nodeList,然后通过索引访问来单击适当的项。

关于CSS selectors的信息

票数 1
EN

Stack Overflow用户

发布于 2016-07-14 19:47:26

你说得对,应该是这样的。。。

代码语言:javascript
复制
For Each oHTML_Element In HTMLDoc.getElementsByTagName("input")
If oHTML_Element.Type = "submit" Then oHTML_Element.Click: Exit For
Next

有关更多信息,请访问http://vbadud.blogspot.com/2009/08/how-to-login-to-website-using-vba.html#gurMeXG3KmWvFUMx.99

查看按钮ID名称的最好方法是当您在网站上时点击F12。如果您使用火狐,而F12什么也不做,请下载Firebug。

https://addons.mozilla.org/en-US/firefox/addon/firebug/

如果您使用IE,但点击F12时没有任何反应,请下载并安装IE开发人员工具。

https://msdn.microsoft.com/en-us/library/bg182326(v=vs.85).aspx

这些工具可以让你很容易地看到页面背后的代码,而且一切都是高度交互的,所以这些东西真的很容易使用。

祝你好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38223246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档