【发布时间】:2017-05-15 17:26:30
【问题描述】:
我在不同的论坛中发现了许多类似我的问题,但我在其中的任何一个论坛中都找不到真正有助于解决我的问题的答案。
基本上,我想要的是通过命令提示符打开一个 URL,它会打开浏览器,处理一个网页,然后我希望它自动关闭。
我为什么需要这个? 我有一个在 IIS 上运行的应用程序。我需要在我的应用程序中每天运行一些例程。我可以通过运行类似于如下所示的 URL 来简单地结束这些例程:
http://myapplication.com/DoStuff.aspx?
问题是这完全是手动的。 我想知道是否可以创建一个调用我的 URL“开始http://myapplication.com/DoStuff.aspx?”的批处理文件,然后我可以在 Windows 上创建一个任务来每天运行该批处理文件。这对我有用,只是浏览器不会自动关闭。 我的意思是,我可以尝试一下,但在一周结束时,我至少会打开 5 个窗口。
我尝试过的:
我曾尝试使用 javascript 来解决它,但我总是收到此消息:
脚本只能关闭它打开的窗口
我使用“window.close()”创建的 javascript 函数无关紧要,窗口不会关闭。
Chrome 和 Firefox 会返回该消息。 IE 让我尝试关闭窗口,但它会在弹出窗口中询问我是否真的要关闭它。
【问题讨论】:
-
您需要与页面交互,还是触发页面下载就足够了?我在想,如果不需要交互,您可以在 WSH 或
invoke-webrequest或 PowerShell 中使用类似的简单 XMLHTTPRequest。 -
您可以尝试使用一些测试自动化框架,例如带有 selenium 的 cucumber-jvm。它为您提供了在 Web 应用程序功能之外控制浏览器的可能性..
-
@rojo 我不需要与页面交互。例如,其中一个过程是生成一些 pdf 文件并发送到我的电子邮件。
-
我相信,如果您不控制浏览器进程(从浏览器外部),弹出窗口是您可以从浏览器获得的最大功能。
-
如果您不需要交互,请不要使用浏览器。选择一种语言(C#、PowerShell 等),然后使用它的工具来创建执行您想要的 HTTP 请求。然后使用 Windows 任务调度程序对其进行调度,或者在其中构建调度并将其作为服务运行。
标签: javascript asp.net windows batch-file