Reworked Brighteon Login Check

pull/2/head
Yuriy 2 years ago
parent ae9a59506d
commit 67291b5763

@ -3048,20 +3048,31 @@ try CurrentTab := driver.url
if(InStr(CurrentTab, "login")) ; we're logged out if(InStr(CurrentTab, "login")) ; we're logged out
{ {
Message = Closing out of any popups that might appear Message = Closing out of any popups that might appear on loin page
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
; loop, 2 {
Xpath = //body/div[@id='__next']/div[@id='modal-root']/div[2]/div[1]/div[1]//*[local-name()='svg'] Xpath = //body/div[@id='__next']/div[@id='modal-root']/div[2]/div[1]/div[1]//*[local-name()='svg']
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=1000) Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=100)
Xpath = //body/div[@id='__next']/div[@id='modal-root']/div/div/div[1] ; get our free newsletter Xpath = //body/div[@id='__next']/div[@id='modal-root']/div/div/div[1] ; get our free newsletter
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=1000) Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=100)
; try driver.FindElementByXPath(Xpath).click()
; If newsletter pop up exists then close it. ; If newsletter pop up exists then close it.
Xpath = //div[@class='overlay__close inside'] Xpath = //div[@class='overlay__close inside']
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=1000) Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=100)
; Try clicking the login button, sometimes this will auto log you back in without having to input credentials
xpath = //a[normalize-space()='Log In']
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=100)
DevModeMsgBox(Status)
Message = Checking Login Status
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
try PageURL := driver.url
if(InStr(PageURL, "auth.brighteon.com/login?state")){ ; we're logged out and need to manually log back in
if(AutoLogin){ if(AutoLogin){
@ -3091,47 +3102,48 @@ if(InStr(CurrentTab, "login")) ; we're logged out
SaveDriverURLOFErrorPage() SaveDriverURLOFErrorPage()
Return Return
} }
}
}
}
; Navigate to Upload Page ; Navigate to Upload Page
try driver.executeScript("window.location = 'https://www.brighteon.com/dashboard/video-upload'") ;navigate using javascript try driver.executeScript("window.location = 'https://www.brighteon.com/dashboard/video-upload'") ;navigate using javascript
try driver.executeScript("return document.readyState").equals("complete") try driver.executeScript("return document.readyState").equals("complete")
; Click out of the "Support free speech" pop-up if it pops up ; Click out of the "Support free speech" pop-up if it pops up
Xpath = //body/div[@id='__next']/div[@id='modal-root']/div/div/div[1]//*[local-name()='svg'] Xpath = //body/div[@id='__next']/div[@id='modal-root']/div/div/div[1]//*[local-name()='svg']
try driver.FindElementByXPath(Xpath).click() try driver.FindElementByXPath(Xpath).click()
; Upload Video ; Upload Video
Xpath = //input[@type='file'] Xpath = //input[@type='file']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoFilepath) Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoFilepath)
if(Status){ if(Status){
Message = Failed to Upload Video, Please check Login Status Message = Failed to Upload Video, Please check Login Status
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
SaveDriverURLOFErrorPage() SaveDriverURLOFErrorPage()
Return Return
} }
; Input Title of the Video ; Input Title of the Video
Xpath = /html/body/div/section[2]/div[2]/div/form/div[1]/div[1]/div[2]/div[1]/div/input Xpath = /html/body/div/section[2]/div[2]/div/form/div[1]/div[1]/div[2]/div[1]/div/input
try driver.FindElementByXPath(Xpath).SendKeys(VideoTitle) ;Sends Variable to an Xpath Item try driver.FindElementByXPath(Xpath).SendKeys(VideoTitle) ;Sends Variable to an Xpath Item
TooltipThis("Inputting Video Description") TooltipThis("Inputting Video Description")
; sleep, 5000 ; sleep, 5000
; @todo this doesn't do anything anymore. ; @todo this doesn't do anything anymore.
; DevModeMsgBox("rework me here") ; DevModeMsgBox("rework me here")
; Xpath = //textarea[@id='description'] ; Xpath = //textarea[@id='description']
; try, driver.FindElementByXPath(XPATH).SendKeys(driver.Keys.SPACE) ; try, driver.FindElementByXPath(XPATH).SendKeys(driver.Keys.SPACE)
; sleep, 1000 ; sleep, 1000
; Attempt to input video description a couple of times ; Attempt to input video description a couple of times
Loop, 10 { Loop, 10 {
Message = Inputting Description. `nAttempt Number: %A_index% Message = Inputting Description. `nAttempt Number: %A_index%
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
; SaveOrPostProgress(Message:=Message,PostType:="DiscordErrorLogging") ; SaveOrPostProgress(Message:=Message,PostType:="DiscordErrorLogging")
@ -3174,12 +3186,12 @@ if(InStr(CurrentTab, "login")) ; we're logged out
Break Break
} }
} }
; Thumbnail ; Thumbnail
if(VideoThumbFilepath != "") { if(VideoThumbFilepath != "") {
TooltipThis("Uploading Thumbnail") TooltipThis("Uploading Thumbnail")
Xpath = //input[@type='file'] Xpath = //input[@type='file']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoThumbFilepath) Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoThumbFilepath)
@ -3187,38 +3199,38 @@ if(InStr(CurrentTab, "login")) ; we're logged out
Message = Failed to Upload Thumbnail Message = Failed to Upload Thumbnail
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
} }
} }
; Keywords (Tags) ; Keywords (Tags)
; DevModeMsgBox(VideoTags) ; DevModeMsgBox(VideoTags)
TooltipThis("Inputting Keywords") TooltipThis("Inputting Keywords")
XPath = //input[@id='keywords'] XPath = //input[@id='keywords']
try driver.FindElementByXPath(Xpath).SendKeys(VideoTags) ;Sends Variable to an Xpath Item try driver.FindElementByXPath(Xpath).SendKeys(VideoTags) ;Sends Variable to an Xpath Item
catch e { catch e {
Message = Error (E#2312)`nVideo Uploaded but Unable to Input Video Tags Message = Error (E#2312)`nVideo Uploaded but Unable to Input Video Tags
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
} }
; double check on video description after inputting tags ; double check on video description after inputting tags
js = return document.querySelector("div[class='e-content e-lib e-keyboard'] p").innerText; js = return document.querySelector("div[class='e-content e-lib e-keyboard'] p").innerText;
try Input_Description := driver.executeScript(JS) ;Execute Javascript try Input_Description := driver.executeScript(JS) ;Execute Javascript
DevModeMsgBox(Input_Description) DevModeMsgBox(Input_Description)
; if text in description box is longer than x chars, then description input worked ; if text in description box is longer than x chars, then description input worked
if(StrLen(Input_Description) > 5){ if(StrLen(Input_Description) > 5){
SaveOrPostProgress(Message:="Video Description second double check was successful",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") SaveOrPostProgress(Message:="Video Description second double check was successful",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
} }
else, { else, {
SaveOrPostProgress(Message:="Secondary video description check failed",PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:="Secondary video description check failed",PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
Return Return
} }
TooltipThis("Waiting for Video to Finish Uploading") TooltipThis("Waiting for Video to Finish Uploading")
Loop, %Number_of_loops_to_Check_Upload_status% { Loop, %Number_of_loops_to_Check_Upload_status% {
sleep, %Time_Between_Loops_Upload_Status% sleep, %Time_Between_Loops_Upload_Status%
; Get progress status through javascript ; Get progress status through javascript
@ -3248,16 +3260,16 @@ if(InStr(CurrentTab, "login")) ; we're logged out
Status := Check_For_Stuck_Video_Upload(A_index, UploadPercent) Status := Check_For_Stuck_Video_Upload(A_index, UploadPercent)
if(Status = "Failed") if(Status = "Failed")
Return Return
} }
; Save Video button ; Save Video button
TooltipThis("Clicking Save Video Button to finalize Upload") TooltipThis("Clicking Save Video Button to finalize Upload")
try BrighteonUploadPageURL := driver.url try BrighteonUploadPageURL := driver.url
try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
TooltipThis("Waiting for Result page to finish loading") TooltipThis("Waiting for Result page to finish loading")
Loop, 60 { ; 5 loops of 1 minute each Loop, 60 { ; 5 loops of 1 minute each
if(A_index = 10){ if(A_index = 10){
Message = Upload Failed: Clicking "Save Video" did not Finalize the Upload Message = Upload Failed: Clicking "Save Video" did not Finalize the Upload
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
@ -3272,39 +3284,39 @@ if(InStr(CurrentTab, "login")) ; we're logged out
try CurrentURL := driver.url try CurrentURL := driver.url
if(BrighteonUploadPageURL != CurrentURL) if(BrighteonUploadPageURL != CurrentURL)
Break Break
} }
Message = Trying to Grab Uploaded Video URL Message = Trying to Grab Uploaded Video URL
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
; Message = Waiting 60 Seconds Before Checking Results Page for URL ; Message = Waiting 60 Seconds Before Checking Results Page for URL
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") ; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
; Navigate to Videos page and loop through the videos and grab the URL of the latest upload ; Navigate to Videos page and loop through the videos and grab the URL of the latest upload
try driver.Get("https://www.brighteon.com/dashboard/videos") ;Open selected URL try driver.Get("https://www.brighteon.com/dashboard/videos") ;Open selected URL
try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
; Get First word in video title to use in grabbing video URL ; Get First word in video title to use in grabbing video URL
VideoTitleArray := StrSplit(VideoTitle, " ") VideoTitleArray := StrSplit(VideoTitle, " ")
; Iterate from 1 to the end of the array: ; Iterate from 1 to the end of the array:
Loop % VideoTitleArray.Length(){ Loop % VideoTitleArray.Length(){
VideoTitleLongWord := VideoTitleArray[A_Index] VideoTitleLongWord := VideoTitleArray[A_Index]
; VideoTitleFirstWord := StrReplace(VideoTitleFirstWord, "_","-") ; VideoTitleFirstWord := StrReplace(VideoTitleFirstWord, "_","-")
if(StrLen(VideoTitleLongWord) > 4) if(StrLen(VideoTitleLongWord) > 4)
Break Break
; MsgBox % VideoTitleArray[A_Index] ; MsgBox % VideoTitleArray[A_Index]
} }
Message = VideoTitleLongWord: %VideoTitleLongWord% Message = VideoTitleLongWord: %VideoTitleLongWord%
SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile")
Loop, 4 { Loop, 4 {
ElementIndexNumber := A_index + 1 ElementIndexNumber := A_index + 1
jsCheck = return document.getElementsByClassName('col')[%ElementIndexNumber%].outerHTML; jsCheck = return document.getElementsByClassName('col')[%ElementIndexNumber%].outerHTML;
@ -3337,62 +3349,62 @@ if(InStr(CurrentTab, "login")) ; we're logged out
} }
BrighteonURL := BrighteonURL :=
} }
; Convert dashboard URL to Public URL ; Convert dashboard URL to Public URL
; BrighteonURL := StrReplace(BrighteonURL, "dashboard/videos/", "") ; BrighteonURL := StrReplace(BrighteonURL, "dashboard/videos/", "")
if(BrighteonURL = ""){ if(BrighteonURL = ""){
Message = Upload Completed Successfully but failed to grab Share URL. Please Copy and Paste it in. Message = Upload Completed Successfully but failed to grab Share URL. Please Copy and Paste it in.
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
SaveDriverURLOFErrorPage() SaveDriverURLOFErrorPage()
Return Return
} }
Message = Upload Complete:`n%BrighteonURL% Message = Upload Complete:`n%BrighteonURL%
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
IniWrite, %BrighteonURL%, %VideoLinksIniFile%, URLs, BrighteonURL IniWrite, %BrighteonURL%, %VideoLinksIniFile%, URLs, BrighteonURL
SaveDriverURL() SaveDriverURL()
AddToTotalVideosUploadedCount() AddToTotalVideosUploadedCount()
; TakeScreenshotOfPage(ScreenShotSavePath) ; TakeScreenshotOfPage(ScreenShotSavePath)
Return Return
; -------------------------------/Brighteon Upload------------------------------- ; -------------------------------/Brighteon Upload-------------------------------
; -------------------------------DailyMotion------------------------------- ; -------------------------------DailyMotion-------------------------------
DailyMotionUpload: DailyMotionUpload:
CurrentSite := "DailyMotion" CurrentSite := "DailyMotion"
SaveOrPostProgress(Message:="Starting Upload",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") SaveOrPostProgress(Message:="Starting Upload",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
; @todo: remove This section later after update 1.92 ; @todo: remove This section later after update 1.92
IniRead, DailyMotionParnerUploadPage, %SettingsIniFilepath%, General, DailyMotionPostPageURL, %A_Space% IniRead, DailyMotionParnerUploadPage, %SettingsIniFilepath%, General, DailyMotionPostPageURL, %A_Space%
if(!DailyMotionParnerUploadPage){ if(!DailyMotionParnerUploadPage){
DailyMotionParnerUploadPage := "https://www.dailymotion.com/partner/x7e48a/media/video/upload" DailyMotionParnerUploadPage := "https://www.dailymotion.com/partner/x7e48a/media/video/upload"
IniWrite, %DailyMotionParnerUploadPage%, %SettingsIniFilepath%, General, DailyMotionPostPageURL IniWrite, %DailyMotionParnerUploadPage%, %SettingsIniFilepath%, General, DailyMotionPostPageURL
} }
Status := NavigateFromBaseURLTo(DailyMotionParnerUploadPage,"Partner HQ - Dailymotion") Status := NavigateFromBaseURLTo(DailyMotionParnerUploadPage,"Partner HQ - Dailymotion")
if(Status) if(Status)
Return Return
Message = Waiting for Page to Finish Fully Loading Message = Waiting for Page to Finish Fully Loading
SaveOrPostProgress(Message:=Message,PostType:="Tooltip") SaveOrPostProgress(Message:=Message,PostType:="Tooltip")
try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
sleep, 1500 sleep, 1500
Message = Uploading Video Message = Uploading Video
SaveOrPostProgress(Message:=Message,PostType:="Tooltip") SaveOrPostProgress(Message:=Message,PostType:="Tooltip")
Xpath = //input[@type='file'] Xpath = //input[@type='file']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=2000,StringTextContent:=VideoFilepath) Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=2000,StringTextContent:=VideoFilepath)
if(Status){ if(Status){
; DevModeMsgBox(Status) ; DevModeMsgBox(Status)
Message = Trying to Log Back In Message = Trying to Log Back In
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") ; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
@ -3403,25 +3415,25 @@ if(InStr(CurrentTab, "login")) ; we're logged out
; Upload file again ; Upload file again
Xpath = //input[@type='file'] Xpath = //input[@type='file']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=2000,StringTextContent:=VideoFilepath) Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=2000,StringTextContent:=VideoFilepath)
} }
; DevModeMsgBox("test") ; DevModeMsgBox("test")
sleep, 2000 sleep, 2000
; Click on Upload Thumbnail Button ; Click on Upload Thumbnail Button
TooltipThis("Uploading Thumbnail") TooltipThis("Uploading Thumbnail")
Xpath = //input[@type='file'] Xpath = //input[@type='file']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoThumbFilepath) Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoThumbFilepath)
if(Status){ if(Status){
Message = Failed to Upload Thumbnail: Check Login Status Message = Failed to Upload Thumbnail: Check Login Status
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
} }
Message = Inputting Video Details Message = Inputting Video Details
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
; @todo: uncomment this and replace the selenium funciton ; @todo: uncomment this and replace the selenium funciton
; Clear video title that is input automatically and input the real title ; Clear video title that is input automatically and input the real title
/*Msgbox % "JSVideoTitle: " JSVideoTitle /*Msgbox % "JSVideoTitle: " JSVideoTitle
js_SendAndCheckWithNAME(Element:="title",ClassIndexNum:=0,ValueToCheck:="value",SleepLength:=1000,JSStringText:=JSVideoTitle) js_SendAndCheckWithNAME(Element:="title",ClassIndexNum:=0,ValueToCheck:="value",SleepLength:=1000,JSStringText:=JSVideoTitle)
Msgbox % "Status: " Status Msgbox % "Status: " Status

Loading…
Cancel
Save