vb抓取网页内容(如何从剪贴板中抓取一个URL然后在浏览器中打开该Web站点?)
优采云 发布时间: 2022-02-25 08:10vb抓取网页内容(如何从剪贴板中抓取一个URL然后在浏览器中打开该Web站点?)
问:
嗨 ScriptingGuy!如何从剪贴板中获取 URL 并在浏览器中打开网站?
--CL
回答:
嗨,CL。这是一个有趣的问题,或者我们应该说,两个非常有趣的问题。因为你实际上问了两个问题。第一个问题很简单:我可以使用脚本打开特定的网站吗?您可能已经知道答案,我可以大声回答您,是的!下面是一个示例脚本,它将“脚本中心”URL 存储在一个名为 strURL 的变量中。然后,该脚本创建 WSHShell 对象的实例并使用 Run 方法打开默认 Web 浏览器并导航到指定的 URL:
复制代码代码如下:
strURL=""
SetobjShell=CreateObject("Wscript.Shell")
objShell.Run(strURL)
第二个问题有点棘手:我可以使用脚本从剪贴板中获取信息吗?这个问题的答案也是“是”,尽管您必须通过后门进入剪贴板。
WSH 和 VBScript 都不能与剪贴板交互:它们都不允许您将数据复制到剪贴板或从剪贴板粘贴数据。另一方面,Internet Explorer 可以与剪贴板交互。(看,Internet Explorer 真是无所不能!)所以,让 IE 为我们做这些工作吧。如果要从剪贴板中抓取数据,可以使用类似于以下的代码:
SetobjIE=CreateObject("InternetExplorer.Application")
objIE.Navigate("关于:空白")
strURL=objIE.document.parentwindow.clipboardData.GetData("文本")
objIE.退出
Wscript.EchostrURL
在这里,我们所做的是:创建 InternetExplorer 的实例并在空白页面中打开它。请注意,您实际上看不到这个 IE 实例,因为我们没有将 Visible 属性设置为 TRUE。一切都发生在后台。
然后我们使用 clipboardData.GetData 方法获取放置在剪贴板上的文本并将其存储在变量 strURL 中;这就是以下代码行的作用:
strURL=objIE.document.parentwindow.clipboardData.GetData("文本")
我们关闭这个 IE 实例 (objIE.Quit) 并回显我们从剪贴板检索到的值。
试试这个:将一些文本复制到剪贴板,然后运行脚本。您应该会看到一个消息框,其中收录您刚刚复制到剪贴板的文本。
现在只剩下一件事要做:将脚本的两半组合成一个完整的脚本。以下脚本从剪贴板中获取 URL 并在默认 Web 浏览器中打开该网站:
SetobjIE=CreateObject("InternetExplorer.Application")
objIE.Navigate("关于:空白")
strURL=objIE.document.parentwindow.clipboardData.GetData("文本")
objIE.退出
SetobjShell=CreateObject("Wscript.Shell")
objShell.Run(strURL)
这个脚本还不错。它还有一个优点——它不仅用于打开网站。假设您的剪贴板上有一个文件路径,例如“C:\Scripts\ScriptLog.txt”。运行此脚本,文件将在记事本(或您设置为与 .txt 文件关联的任何应用程序)中打开。如果剪贴板上有 .doc 文件的路径,此脚本将在 Microsoft Word 中打开该文档。它实际上是一个通用的文件打开脚本,而不仅仅是一个网站专用的打开脚本。