如何使用VBS访问另一个IE选项卡?

时间:2016-06-30 14:08:07

标签: internet-explorer vbscript

我创建了一个在Intranet站点内导航的vb脚本。此站点上有一个链接,当您单击它时,它会打开一个带有半随机地址的新选项卡。如何访问此选项卡以在其中运行javascript?

在我的脚本中,我创建了一个InternetExplorer.application对象,用于控制我的导航,直到我必须单击前面提到的此链接。一旦我运行一些javascript点击链接,我不知道如何让我的代码在新标签上运行以继续我的导航。我查了documentation of the IE object并且有一个父属性,所以我猜我必须找到该父对象中的IE对象列表,但父对象本身?我不知道从哪里去。

3 个答案:

答案 0 :(得分:1)

您可能希望熟悉" Cross tab Communication"。具体来说就是本地存储'以下是一个开头的链接:HTML5 Web Storage and Cross-tab communication

在一个选项卡中设置本地存储变量的值时,您可以在另一个选项卡中读取它(例如,在文档准备就绪后直接读取)并根据它的值执行某些操作。或者你可以挂钩一个事件并监听变量值的变化并根据它运行不同的脚本,有效地将它用作从一个标签到另一个标签的函数调用......

答案 1 :(得分:0)

Set objShell = CreateObject("Shell.Application")
Set AllWindows = objShell.Windows
For Each window in AllWindows
    msgbox window.locationname
    If window.locationname="Scripts" then window.quit
Next

它返回一个Internet Explorer窗口对象。

答案 2 :(得分:-1)

我使用Ruby进行这类工作,使用基于Web的服务器和客户端要好得多,为了控制浏览器窗口,某些宝石在后台使用Autoit。它的自动转向比vbscript的常规sendkey和objShell方法强大得多。有关如何在vbscript中使用它的示例,请参阅here