internet explorer—如何访问另一个有VBS的IE页签



我制作了一个vb脚本,用于在内部网站点内导航。这个网站上有一个链接,当你点击它时,它会打开一个带有半随机地址的新标签。我如何访问这个选项卡,在其中运行javascript ?

在我的脚本中,我创建了一个InternetExplorer。应用程序对象,用于控制我的导航,直到我必须单击前面提到的这个链接。一旦我运行一些javascript来点击链接,我不知道如何让我的代码在新选项卡上运行以继续我的导航。我查了IE对象的文档,有一个父属性,所以我猜我必须找到IE对象的列表,但父是脚本本身吗?我不知道该怎么办

您可能需要熟悉一下"跨选项卡通信"。特别是"localStorage"。这里有一个链接:HTML5 Web Storage和跨标签通信。

当你在一个选项卡中设置了一个本地存储变量的值,你可以在另一个选项卡中读取它(例如,直接在文档准备好之后),并根据它的值做一些事情。或者您可以连接一个事件并监听变量值的变化,并根据它运行不同的脚本,有效地将其用作从一个选项卡到另一个选项卡的函数调用…

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

返回一个ie窗口对象

我使用Ruby来完成这类工作,它更适合与基于web的服务器和客户端一起工作,对于浏览器窗口的控制,一些gem在后台使用Autoit。Autoit反过来比vbscript的常规sendkey和objShell方法要强大得多。

最新更新