VBA导航IE javascript链接

jc123456

第一篇文章。不知道该怎么做。从来没有从网站检索过数据。可以通过VBA导航到带有打开报告选项的页面,但是此时一切都从html到Javascript到打开报告。我将如何打开报告?导航到页面或从表中提取数据没有问题

<div id='delivery_reports' class='menu' onMouseover='aMenu(this);'>
<table>

<tr>
<td nowrap><a href="javascript:handleHyperlink('finish.do')"
class="mainSubLink">finish Report</a></td>
</tr>


<tr>
<td nowrap><a href="javascript:handleHyperlink('start.do')"
class="mainSubLink">start Report</a></td>
</tr>


<tr>
<td nowrap><a href="javascript:handleHyperlink('control.do')"
class="mainSubLink">control report</a></td>
</tr>


<tr>
<td nowrap><a href="javascript:handleHyperlink('data_start.do')"
class="mainSubLink">data start Report</a></td>
</tr>

</table>
</div>

例如,我将如何导航到控制报告?

任何帮助表示赞赏,谢谢

灵魂之火

您可以使用该IE.Navigate方法(假设IE是您的InternetExplorer对象)。你会做类似的事情IE.Navigate "javascript:handleHyperlink('control.do')"

请务必注意,该页面的HTML文档将被重新加载(或者,这是我需要使用的一次),因此,在您使用该页面的HTML元素后,您在该页面上引用HTML元素的所有变量都必须重新分配。导航方法。

一个更完整的示例:

Sub Test()
    Dim ie As InternetExplorer
    Dim doc As HTMLDocument

    Set ie = New InternetExplorer

    ie.Navigate "http://www.yoururl.com"

    'Wait for page to load
    Do While ie.Busy Or Not ie.ReadyState = READYSTATE_COMPLETE
        DoEvents
    Loop

    Set doc = ie.document

    'Do whatever manipulation of the HTML document you need

    ie.Navigate "javascript:handleHyperlink('control.do')"

    'Wait for page to load
    Do While ie.Busy Or Not ie.ReadyState = READYSTATE_COMPLETE
        DoEvents
    Loop

    'Reassign document
    Set doc = ie.document

    'Further manipulation

End Sub

这就是我根据使某些代码能够满足我自己的需求而找到它的方式。也许有更好的方法。

附录

您可以使用两种方法(我知道)来执行JavaScript函数。第一个是execScript,另一个是FireEvent记住那IE是你的InternetExplorer对象。

exec脚本

IE.document.all.Item 
Call IE.document.parentWindow.execScript("handleShowAllLines()", "JavaScript")

此外,由于js代码与按钮绑定在一起,因此您还可以按以下方式使用FireEvent

IE.Document.GetElementsByTagName("showAllLinesButton").Item(0).FireEvent("onclick")

此方法假定只有一个名称为“ showAllLinesButton”的按钮。如果不是这种情况,则必须将中的索引0调整为.Item(0)需要单击的正确按钮的索引。

我没有测试过任何一种方法,也不能完全确定一种方法相对于另一种方法的优点/缺点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

嵌套的导航链接在IE 9中消失得太快

来自分类Dev

IE8条件javascript无法链接

来自分类Dev

VBA 关闭 IE javascript 弹出窗口

来自分类Dev

使用VBA通过Access导航网页/模板IE

来自分类Dev

单击导航菜单链接时使用javascript进行DIV折叠/展开

来自分类Dev

html css javascript我需要我的导航窗口在用户单击链接后立即关闭

来自分类Dev

将我的Bootstrap导航栏链接设置为活动(使用纯JavaScript)

来自分类Dev

html css javascript我需要我的导航窗口在用户单击链接后立即关闭

来自分类Dev

VBA登录网站,单击已加载网页上的链接并进一步导航

来自分类Dev

导航链接被隐藏-反应

来自分类Dev

导航链接/栏消失

来自分类Dev

导航栏着色链接

来自分类Dev

HTML键盘导航链接

来自分类Dev

强调导航链接

来自分类Dev

浮动导航链接向右

来自分类Dev

使用javascript在IE11中下载超链接<a>中的img

来自分类Dev

IE 8及更低版本中的Javascript链接不可点击

来自分类Dev

使用javascript在IE11中通过超链接<a>下载img

来自分类Dev

如何在没有 javascript 的情况下单击导航栏中的锚链接并更改 div 中的内容?

来自分类Dev

如何设置导航链接底部的导航品牌

来自分类Dev

fancybox中的导航链接区域

来自分类Dev

使我的导航栏链接居中

来自分类Dev

CSS中心导航栏链接

来自分类Dev

导航列表中的活动链接

来自分类Dev

包含按钮的SwiftUI导航链接

来自分类Dev

嵌入式导航链接

来自分类Dev

fancybox中的导航链接区域

来自分类Dev

引导带图像的导航链接

来自分类Dev

导航栏中的居中链接