Google chrome 关闭Chrome窗口或更好的解决方案

Google chrome 关闭Chrome窗口或更好的解决方案,google-chrome,autoit,Google Chrome,Autoit,我不熟悉AutoIt,有一个程序基本上可以运行 目标:在浏览器中打开网站,然后在给定时间段(1.5小时)后关闭 脚本: ;Open a command prompt to start chrome from. Run("C:\WINDOWS\system32\cmd.exe") WinWaitActive("C:\WINDOWS\system32\cmd.exe") send('"c:\Program Files\Google\Chrome\Application\chrome.exe" htt

我不熟悉AutoIt,有一个程序基本上可以运行

目标:在浏览器中打开网站,然后在给定时间段(1.5小时)后关闭

脚本:

;Open a command prompt to start chrome from.
Run("C:\WINDOWS\system32\cmd.exe")
WinWaitActive("C:\WINDOWS\system32\cmd.exe")
send('"c:\Program Files\Google\Chrome\Application\chrome.exe" http://website.com' & "{ENTER}")
;Close the dos box
WinWaitActive("C:\WINDOWS\system32\cmd.exe")
send('exit' & "{ENTER}")
; 5400000 = 1.5 hours
sleep( 5400000 );
WinWaitActive("Listen Live - Google Chrome","")
;Send("{F4}{ALTUP}")
Send("{CTRLDOWN}{SHIFTDOWN}q{SHIFTUP}{CTRLUP}")
开场白很好,但剧本从未结束。当定时器很短时,它似乎工作,但当定时器很长时,它就不工作了

脚本将通过Windows计划任务执行。我尝试将打开/关闭分离为两个单独的脚本,但这似乎也不起作用


我愿意接受在Windows上工作的其他解决方案。

将最后一个WinWaitActive更改为WinActivate可能会解决您的问题,但获取窗口句柄并通过它关闭可能是更好的方法

此外,请确保您要查找的窗口标题确实存在。我注意到我的Google Chrome窗口标题中实际上没有“-Google Chrome”。通过打开网页并使用自动窗口信息应用程序来确认这一点。当您单击/激活窗口时,该应用程序将向您显示确切的窗口标题和其他信息。你不需要有一个精确的匹配。例如,如果窗口标题在“Listen Live-xxxx”之后可能不同,那么只需查找“Listen Live-”

尝试下面的代码,看看它是如何工作的:

; set variables
$browser_exe = "c:\Program Files\Google\Chrome\Application\chrome.exe"
$URL = "http://website.com"
$window_title = "Listen Live - Google Chrome"
$sleep_time = 5400000 ; 1.5 hours

; run the browser and pass the URL to it
Run($browser_exe & " " & $URL)

; get window handle
$window_handle = WinWait($window_title)

Sleep($sleep_time)

; close the window
WinClose($window_handle)

当您声明它在计时器较短时工作时,您是否通过Windows计划任务执行它?根据Windows的版本和计划任务的设置,Windows可能无法与桌面进行交互(换句话说,任务可能无法“看到”您打开的窗口。谢谢。我需要将其发送给希望其在其计划程序中工作的人。