From 961fd8bd2ecd123a7bfa39fdd27963ea4260b973 Mon Sep 17 00:00:00 2001 From: yuriy Date: Wed, 15 Feb 2023 18:46:40 -0500 Subject: [PATCH] Reworked Rumble login check --- Freedomain Video Uploader.ahk | 59 +++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 9 deletions(-) diff --git a/Freedomain Video Uploader.ahk b/Freedomain Video Uploader.ahk index 55df43a..bbe386d 100644 --- a/Freedomain Video Uploader.ahk +++ b/Freedomain Video Uploader.ahk @@ -4929,19 +4929,60 @@ if(Status) */ -Loop, 2 { - Xpath = //input[@name='Filedata'] - Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoFilepath) - if(Status){ - Message = Trying to Log Back In +Message = Checking Login Status +SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") + +try CurrentURL := driver.URL +if(InStr(CurrentURL, "/login.php")){ + + + ; AutoLogin := 1 + ; Msgbox % "AutoLogin: " AutoLogin + + if(AutoLogin){ + Message = Logging in Automatically by clicking into the UN+PW fields for info to register + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") + + ; have to click into username and password field for page to register that there's input + ; clicking with JS doesn't make it register, but with xpath selenium it does + Xpath = //input[@id='login-username'] + driver.FindElementByXPath(Xpath).click() + + Xpath = //input[@id='login-password'] + driver.FindElementByXPath(Xpath).click() + + + js = document.querySelector("button[type='submit']").click(); + driver.executeScript(js) + + + ; Do a double check to make sure that login worked + Message = Checking Login Status SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") - Xpath = //button[normalize-space()='Sign in'] - Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000) - sleep, 5000 - Continue + try CurrentURL := driver.URL + + if(!InStr(CurrentURL, "/upload")){ + Message = Failed to log back in. Please Log Back In Manually + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + SaveDriverURLOFErrorPage() + Return + } + + + } + else, { ; notify user and return + Message = Login Expired. Please Log Back in + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + SaveDriverURLOFErrorPage() + Return } + + } + + + ; Input Title try driver.findElementsByName("title").item[1].SendKeys(VideoTitle) ;selects element based on Name and sends variable to it. catch e {