Cool deine Variante habe ich auch noch nie so in den Code geschrieben, muss ich mir mal aneignen.
Ich versteh nicht warum AdlibRegister in die Mitte ?
WER LESEN KANN IST KLAR IM VORTEIL sry jetzt erst gecheckt.
Du kannst es einfacher machen ich teste es grad, natürlich mit anderen Zeiten.
So nun geändert :
AutoIt
#include <wd_helper.au3>
#include <wd_capabilities.au3>
#include <Date.au3>
Global $oSession = '', $capsi, $hWndBrowser, $iclick = 0, $end = 0
Global $endtime = '15:43:00', $itime_1 = '28', $itime_2 = '58', $itime_adl = 1800000
AdlibRegister('Adlib_ansage', $itime_adl)
start()
While 1
Sleep(50) ;einfach um die prozessorlast unten zu halten.
If $end = 1 Then
beenden()
EndIf
If $iclick = 0 Then
If _NowTime() = $endtime Then
Uhr_ansagen()
Sleep(10000);es dauert etwas bis die Ansage anläuft deshalb hier nochmal schlafen.
$end = 1
ElseIf StringSplit(_NowTime(), ':')[2] = $itime_1 And StringSplit(_NowTime(), ':')[3] = '00' Then
Uhr_ansagen()
ConsoleWrite('ANSAGE : ' & _NowTime() & 'Uhr ELSEIF ! 1!' & @CRLF)
ElseIf StringSplit(_NowTime(), ':')[2] = $itime_2 And StringSplit(_NowTime(), ':')[3] = '00' Then
Uhr_ansagen()
ConsoleWrite('ANSAGE : ' & _NowTime() & 'Uhr ELSEIF ! 2!' & @CRLF)
EndIf
ElseIf $iclick = 1 Then
Sleep(1000) ;Schlaf ca. 1sec
$iclick = 0
EndIf
WEnd
Func start()
$capsi = SetupEdge()
$oSession = _WD_CreateSession($capsi)
Local $sLocalFilePath = @ScriptDir & '\talk.html'
Local $sLocalFileURL = "file:///" & StringReplace($sLocalFilePath, "\", "/")
_WD_Navigate($oSession, $sLocalFileURL)
Uhr_ansagen()
ConsoleWrite('ANSAGE : ' & _NowTime() & 'Uhr PER START!!!!' & @CRLF)
EndFunc ;==>start
Func Adlib_ansage()
Uhr_ansagen()
ConsoleWrite('ANSAGE : ' & _NowTime() & 'Uhr PER ADLIB!!!!' & @CRLF)
EndFunc ;==>Adlib_ansage
Func Uhr_ansagen()
Local $element = _WD_FindElement($oSession, 'xpath', '//*[@id="clockID"]')
_WD_ElementAction($oSession, $element, 'Click')
$iclick = 1
EndFunc ;==>Uhr_ansagen
Func beenden()
_WD_DeleteSession($oSession)
_WD_Shutdown()
ConsoleWrite('Script wurde Erfolgreich beendet.' & @CRLF)
Exit
EndFunc ;==>beenden
Func SetupEdge()
_WD_UpdateDriver("msedge", @ScriptDir)
_WD_Option('Driver', @ScriptDir & '\msedgedriver.exe')
_WD_Option('Port', 9515)
_WD_Startup()
; Startparameter sammeln
_WD_CapabilitiesStartup()
_WD_CapabilitiesAdd('alwaysMatch', 'msedge')
_WD_CapabilitiesAdd('excludeSwitches', 'enable-automation')
_WD_CapabilitiesAdd('args', 'guest')
_WD_CapabilitiesDump(@ScriptLineNumber)
_WD_CapabilitiesAdd('args', '--headless')
Local $hWnd = WinWait("[CLASS:ConsoleWindowClass]", "", 10)
WinSetState($hWnd, "", @SW_HIDE)
Local $sCapabilities = _WD_CapabilitiesGet()
Return $sCapabilities
EndFunc ;==>SetupEdge
Alles anzeigen