Compare commits

..

No commits in common. 'main' and '3.5' have entirely different histories.
main ... 3.5

@ -25,7 +25,7 @@ VersionIniFP = %A_ScriptDir%\Version.ini
; Generate a new errorlog text file each run ; Generate a new errorlog text file each run
FormatTime, TodayDate , YYYYMMDDHH24MISS, yyyyMMdd_hhmmss FormatTime, TodayDate , YYYYMMDDHH24MISS, yyyyMMdd_hhmmss
ErrorLogFilepath = %A_ScriptDir%\Lib\ErrorLogging\Compiler_%TodayDate%.txt ErrorLogTextFile = %A_ScriptDir%\Lib\ErrorLogging\Compiler_%TodayDate%.txt
; Read Credential token from Windows Credential Manager using WindowCredentialManager.ahk ; Read Credential token from Windows Credential Manager using WindowCredentialManager.ahk
@ -83,7 +83,7 @@ if(!FileExist(icopath)){
; run, %comspec% /c ""C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe" /in "%AHKFilepath%" /out "%exefilepath%" /icon "%icopath%"" ; run, %comspec% /c ""C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe" /in "%AHKFilepath%" /out "%exefilepath%" /icon "%icopath%""
Command = "C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe" /in "%AHKFilepath%" /out "%exefilepath%" /icon "%icopath%" Command = "C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe" /in "%AHKFilepath%" /out "%exefilepath%" /icon "%icopath%"
Results := RunCMD(Command) Results := RunCMD(Command)
LogToErrorLogFile(Results, ErrorLogFilepath) LogToErrorLogFile(Results, ErrorLogTextFile)
if(!InStr(Results, "Successfully")){ if(!InStr(Results, "Successfully")){
Msgbox, Error, Compilation failed with the following error:`n`n%Results% Msgbox, Error, Compilation failed with the following error:`n`n%Results%
@ -104,11 +104,10 @@ ReleaseTag := VersionNumber
Command = Powershell "%CreateReleasePS1Filepath%" "%CreateReleaseAPIURL%" "%ReleaseName%" "%ReleaseTag%" "'%ReleaseBody%'" Command = Powershell "%CreateReleasePS1Filepath%" "%CreateReleaseAPIURL%" "%ReleaseName%" "%ReleaseTag%" "'%ReleaseBody%'"
Message = PowerShell Command to Create Release:`n%Command% Message = PowerShell Command to Create Release:`n%Command%
LogToErrorLogFile(Message, ErrorLogFilepath) LogToErrorLogFile(Message, ErrorLogTextFile)
Results := RunCMD(Command) Results := RunCMD(Command)
Message = API Returned:`n%Results% LogToErrorLogFile(Results, ErrorLogTextFile)
LogToErrorLogFile(Message, ErrorLogFilepath)
; Pull out the release ID Number, needed for attaching a file to the release ; Pull out the release ID Number, needed for attaching a file to the release
@ -117,15 +116,8 @@ SplitText2 = `;
ReleaseID := StrSplit(Results, SplitText)[2] ReleaseID := StrSplit(Results, SplitText)[2]
ReleaseID := StrSplit(ReleaseID, SplitText2)[1] ReleaseID := StrSplit(ReleaseID, SplitText2)[1]
if(ReleaseID = ""){
Message = Failed to Grab Release ID`nPlease See Errorlog for Details:`n%ErrorLogFilepath%
LogToErrorLogFile(Message, ErrorLogFilepath)
Msgbox, %Message%
Return
}
Message = ReleaseID: %ReleaseID% Message = ReleaseID: %ReleaseID%
LogToErrorLogFile(Message, ErrorLogFilepath) LogToErrorLogFile(Message, ErrorLogTextFile)
@ -137,11 +129,10 @@ AttachAssetToReleaseAPIURL = %AttachAssetToReleaseAPIURL%/%ReleaseID%/assets
; Strings with spaces in them need to be surrounted by a single quote and double quote, eg: "'spaced string'" ; Strings with spaces in them need to be surrounted by a single quote and double quote, eg: "'spaced string'"
Command = Powershell "%AttachAssetToReleasePS1Filepath%" "%AttachAssetToReleaseAPIURL%" "%GiteaToken%" "'%ExeProgramName%'" "'%Exefilepath%'" Command = Powershell "%AttachAssetToReleasePS1Filepath%" "%AttachAssetToReleaseAPIURL%" "%GiteaToken%" "'%ExeProgramName%'" "'%Exefilepath%'"
LogToErrorLogFile(Command, ErrorLogFilepath) LogToErrorLogFile(Command, ErrorLogTextFile)
Results := RunCMD(Command) Results := RunCMD(Command)
Message = API Returned: %Results% LogToErrorLogFile(Results, ErrorLogTextFile)
LogToErrorLogFile(Message, ErrorLogFilepath)
ExitApp ExitApp
@ -160,5 +151,5 @@ ExitApp
;---FUNCTIONS----------------------------------------------------------------------- ;---FUNCTIONS-----------------------------------------------------------------------
LogToErrorLogFile(Text, TextFileFilepath){ LogToErrorLogFile(Text, TextFileFilepath){
FileAppend, `n%Text%`n, %TextFileFilepath% FileAppend, %Text%`n, %TextFileFilepath%
} }

@ -221,7 +221,7 @@ if(InStr(PassedInArgument1_Filepath,ScriptName) and InStr(PassedInArgument1_File
; move old version to backups folder, overwrite if name conflict ; move old version to backups folder, overwrite if name conflict
FileDelete, %PassedInArgument1_Filepath% FileDelete, %PassedInArgument1_Filepath%
if(ErrorLevel){ ; most likely because the old version hasn't finished exiting yet if(ErrorLevel){ ; most likely because the old version hasn't finished exiting yet
SaveOrPostProgress(Message:="Failed to Delete Old Program Version",PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar") SaveOrPostProgress(Message:="Moving Old Version to Backups",PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar")
sleep, 2000 sleep, 2000
FileDelete, %PassedInArgument1_Filepath% FileDelete, %PassedInArgument1_Filepath%
if(ErrorLevel){ if(ErrorLevel){
@ -403,10 +403,10 @@ if(FileExist(VideoLinksIniFile)){
; Misc Info ; Misc Info
; ------------------------------------------------ ; ------------------------------------------------
IniRead, ErrorLoggingFilePath, %VideoLinksIniFile%, Misc, ErrorLoggingFilePath, %A_Space% IniRead, ErrorLoggingFilePath, %VideoLinksIniFile%, Misc, ErrorLoggingFilePath, %A_Space%
; Double check that the file/directory exists and create if not
; Double check that the file still exists on the system. if set var to blank so new file can be generated SplitPath, ErrorLoggingFilePath,, ErrorLogDir
if(!FileExist(ErrorLoggingFilePath)){ if(!FileExist(ErrorLogDir)){
ErrorLoggingFilePath := FileCreateDir, %ErrorLogDir%
} }
} }
@ -615,13 +615,6 @@ UpdateScript()
; @todo: Save any changes made to the script before installing update ; @todo: Save any changes made to the script before installing update
Return Return
PostToDiscordAndTelegram:
gosub, PostToDiscord
gosub, PostToTelegram
Return
/* /*
*/ */

@ -1 +1 @@
Subproject commit 95bda715cb2bf2d9dd062e37e61d2dd0a281fcc3 Subproject commit 670b97d6b130bf09b8c032e2f6fdb940a099b36a

@ -202,7 +202,7 @@ Loop, 10 {
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
; SaveOrPostProgress(Message:=Message,PostType:="DiscordErrorLogging") ; SaveOrPostProgress(Message:=Message,PostType:="DiscordErrorLogging")
Xpath = //div[@id='richtexteditor_747903514_0_rte-edit-view'] ; generated using SelectorHub, using the exclude id tag option. Xpath = //div[@class='e-content e-lib e-keyboard']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoDescription) Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoDescription)
if(Status){ if(Status){
SaveOrPostProgress(Message:="Failed to input Video Description",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") SaveOrPostProgress(Message:="Failed to input Video Description",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
@ -302,7 +302,7 @@ 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
jsCheck = return document.querySelector("#UploadDetails").textContent; jsCheck = return document.getElementsByClassName('video-upload--details')[0].textContent;
try ProgressStatus := driver.executeScript(jsCheck) try ProgressStatus := driver.executeScript(jsCheck)
if(ProgressStatus = ""){ if(ProgressStatus = ""){
@ -332,7 +332,7 @@ Loop, %Number_of_loops_to_Check_Upload_status% {
; "Save Now" button ; "Save Now" button
js = return document.querySelector("#Submit").textContent; js = return document.querySelector("button[class='mr-2 btn btn-primary btn-sm']").textContent;
try, status := driver.executeScript(js) try, status := driver.executeScript(js)
if(!InStr(status, "Save Video")){ if(!InStr(status, "Save Video")){
Message = Save Video Button is not clickable. Please check page for errors. Message = Save Video Button is not clickable. Please check page for errors.
@ -345,11 +345,6 @@ if(!InStr(status, "Save Video")){
; 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
js = document.querySelector("#Submit").click();
driver.executeScript(js)
; wait for page to finish loading
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
@ -377,7 +372,7 @@ SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
sleep, 2000 sleep, 2000
; Navigate to Videos page to make sure it's refreshed with latest video ; Navigate to Videos page to make sure it's refreshed with latest video
try driver.Get("https://www.brighteon.com/dashboard?page=1") ;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
sleep, 2000 sleep, 2000

@ -461,8 +461,8 @@ Gui, Add, Button, x+%MarginSize% w%ResultsScreenOneThirdsWidth% h%SecondaryButto
Gui, Add, Button, x+%MarginSize% w%ResultsScreenOneThirdsWidth% h%SecondaryButtonHeights% gRetryUpload, Try Failed Again Gui, Add, Button, x+%MarginSize% w%ResultsScreenOneThirdsWidth% h%SecondaryButtonHeights% gRetryUpload, Try Failed Again
Gui, Add, Button, x%MarginSize% y+%MarginSize% w%ResultsScreenOneThirdsWidth% h%SecondaryButtonHeights% gPostToDiscordAndTelegram vPostToDiscordTelegramButton, Post to Discord/Telegram Gui, Add, Button, x%MarginSize% y+%MarginSize% w%ResultsScreenOneThirdsWidth% h%SecondaryButtonHeights% gPostToDiscord vPostToDiscordButton, Post to Discord
; Gui, Add, Button, x+%MarginSize% w%ResultsScreenOneThirdsWidth% h%SecondaryButtonHeights% gPostToTelegram vPostToTelegramButton, Post to Telegram Gui, Add, Button, x+%MarginSize% w%ResultsScreenOneThirdsWidth% h%SecondaryButtonHeights% gPostToTelegram vPostToTelegramButton, Post to Telegram
Gui, Add, Button, x+%MarginSize% w%ResultsScreenOneThirdsWidth% h%SecondaryButtonHeights% gStartSocialMediaPoster, Start Social Media Poster Gui, Add, Button, x+%MarginSize% w%ResultsScreenOneThirdsWidth% h%SecondaryButtonHeights% gStartSocialMediaPoster, Start Social Media Poster
; Row 3 ; Row 3

@ -122,13 +122,10 @@ if(Status){
; make sure the "Notify Users" checkbox is selected ; make sure the "Notify Users" checkbox is selected
Xpath = (//input[contains(@name,'is_do_promo')])[1] Xpath = (//input[contains(@name,'is_do_promo')])[1]
ClickXpath = //input[@name='is_do_promo']//parent::*
try, Status := driver.findelementbyxpath(Xpath).isSelected() try, Status := driver.findelementbyxpath(Xpath).isSelected()
if(Status = 0){ if(Status = 0){
Status := Selenium_LoopToClickXpath(Xpath:=ClickXpath,NumOfLoops:=1,SleepLength:=1000) Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=1000)
; Check Again if the checkbox is checked ON (-1)
try, Status := driver.findelementbyxpath(Xpath).isSelected() try, Status := driver.findelementbyxpath(Xpath).isSelected()
if(Status = "0"){ if(Status = "0"){
Message = Failed to Check ON the Notify Users Checkbox Message = Failed to Check ON the Notify Users Checkbox
@ -136,8 +133,6 @@ if(Status = 0){
} }
} }
DevModeMsgBox("notify user option checked?")
; check if the "Auto Submit Post" checkbox is checked, and if not check it ; check if the "Auto Submit Post" checkbox is checked, and if not check it
js = return document.querySelector("#autosubmit_enabled").checked; js = return document.querySelector("#autosubmit_enabled").checked;
try AutoSubmitstatus := driver.executeScript(js) try AutoSubmitstatus := driver.executeScript(js)

@ -117,27 +117,14 @@ if(Status){
} }
; Click on logout button to force a logout. Sometimes the page shows logged in even though cookies have expired?
Xpath = //span[contains(text(),'Logout')]
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
Message = Logging in Message = Logging in
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
Xpath = //input[@id='email'] Xpath = //input[@id='email']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=Username) Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=Username)
; Selenium can't clear out text that's prepopulated by chrome or a password manager until we send some input to the element
; So we input text, then clear it and then input the string we want to work around this.
try, driver.findelementbyxpath(Xpath).clear() ; clear input field in case it's autofilled by chrome or password manager
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=Username)
if(!Status){ ; if inputting email did NOT fail, then we are on the login page, input the password and then click login. if(!Status){ ; if inputting email did NOT fail, then we are on the login page, input the password and then click login.
Xpath = //input[@id='password'] Xpath = //input[@id='password']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=Password) Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=Password)
try, driver.findelementbyxpath(Xpath).clear() ; clear input field in case it's autofilled by chrome or password manager
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=Password)
Xpath = //a[@id='loginButton'] Xpath = //a[@id='loginButton']
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000) Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
@ -284,15 +271,13 @@ ArrayOfPodcastTags := StrSplit(Podcasttags,",")
LengthOfArrayOfPodcastTags := ArrayOfPodcastTags.Length() ; Save total number of items in the array LengthOfArrayOfPodcastTags := ArrayOfPodcastTags.Length() ; Save total number of items in the array
try pagehtml := driver.pagesource try pagehtml := driver.pagesource
; Msgbox % "pagehtml: " pagehtml
Loop, %LengthOfArrayOfPodcastTags% { Loop, %LengthOfArrayOfPodcastTags% {
Tag := ArrayOfPodcastTags[A_Index] ; find value from position in array Tag := ArrayOfPodcastTags[A_Index] ; find value from position in array
SpanID = title">%Tag%</span></div></li><li><div id="tagIDs_easyui_tree_ SpanID = title">%Tag%</span></div></li><li><div id="tagIDs_easyui_tree_
; if tag found in the raw HTML source, get the tag # from the source code and use it to click on the appropriate checkbox if(InStr(pagehtml, SpanID)){ ; if tag found in page, do this
if(InStr(pagehtml, SpanID)){
number := StrSplit(pagehtml, SpanID) number := StrSplit(pagehtml, SpanID)
Number := Number[2] Number := Number[2]
; Msgbox % "number: " number ; Msgbox % "number: " number

@ -23,10 +23,9 @@ if(DiscordVideosWebhookURL = ""){
} }
; https://stackoverflow.com/questions/63160401/how-to-create-hyperlink-in-discord-in-an-embed-in-general ; https://stackoverflow.com/questions/63160401/how-to-create-hyperlink-in-discord-in-an-embed-in-general
; clear out variables in case the button is clicked twice
VideoLinks := VideoLinks :=
Message :=
DiscordVideoDescription :=
TooltipMessage = Checking Bitchute and Brighteon URL for Processing Status TooltipMessage = Checking Bitchute and Brighteon URL for Processing Status
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
@ -76,6 +75,12 @@ VideoLinks .= "[Video Transcript](<" . PodcastTranscriptURL . ">) \| "
if(PodcastNumber != "") if(PodcastNumber != "")
VideoLinks .= "[FDRPodcasts](<" . "https://fdrpodcasts.com/" . PodcastNumber . ">) \| " VideoLinks .= "[FDRPodcasts](<" . "https://fdrpodcasts.com/" . PodcastNumber . ">) \| "
Clipboard := VideoLinks
Msgbox % "VideoLinks: " VideoLinks
; StrLenOfDiscordMessage :=
; trim the video description if Title + Body + Links is longer than 2000 chars ; trim the video description if Title + Body + Links is longer than 2000 chars
if((StrLen(VideoTitle) + StrLen(VideoDescription) + StrLen(VideoLinks)) > 2000){ if((StrLen(VideoTitle) + StrLen(VideoDescription) + StrLen(VideoLinks)) > 2000){
@ -86,9 +91,7 @@ if((StrLen(VideoTitle) + StrLen(VideoDescription) + StrLen(VideoLinks)) > 2000){
else, else,
DiscordVideoDescription := VideoDescription DiscordVideoDescription := VideoDescription
Message = VideoLinks variable contents: Message := "**" . VideoTitle . "**" . "`n" . VideoLinks . "`n" . DiscordVideoDescription
Message := "**" . VideoTitle . "**" . "`n" . DiscordVideoDescription . "`n`n" . VideoLinks
Status := UploadImageToDiscord(DiscordVideosWebhookURL, Message, VideoThumbFilepath) Status := UploadImageToDiscord(DiscordVideosWebhookURL, Message, VideoThumbFilepath)
Message = API Response:`n%Status% Message = API Response:`n%Status%
@ -96,7 +99,7 @@ SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile")
SaveOrPostProgress(Message:="Video Links posted to #Videos Successfully.",PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:="Video Links posted to #Videos Successfully.",PostType:="Tooltip,ErrorLoggingTextFile")
GuiControl,, PostToDiscordTelegramButton, Discord - Posted Successfully GuiControl,, PostToDiscordButton, Discord - Posted Successfully
sleep, 2000 sleep, 2000
ToolTip ToolTip

@ -167,7 +167,7 @@ else, {
Message = Video Links Posted to Telegram Successfully Message = Video Links Posted to Telegram Successfully
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
GuiControl,, PostToDiscordTelegramButton, Telegram - Posted Successfully GuiControl,, PostToTelegramButton, Telegram - Posted Successfully
ToolTip ToolTip
CurrentSite := CurrentSite :=

@ -124,32 +124,51 @@ Loop, 5 { ; Attempt to input video description a couple of times
Xpath = (//input[@placeholder='- Primary category -'])[1] Xpath = (//input[@placeholder='- Primary category -'])[1]
try, driver.FindElementByXPath(Xpath).SendKeys("Podcasts").SendKeys(driver.Keys.ENTER) try, driver.FindElementByXPath(Xpath).SendKeys("Podcasts").SendKeys(driver.Keys.ENTER)
/*
; Skip the channel selection for now
; Rumble now has a "Set this channel as default" checkbox
Message = Selecting Channel Message = Selecting Channel
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
; Get list of channels and select the second one in the list
; First is the user profile
; Second is the Normal Channel
Xpath = (//fieldset[@id='channelId'])[1] ; @todo replace with regex
Try Channels := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text js = return document.querySelector("#channelId").innerHTML;
UploadChannelName := StrSplit(Channels, "`n")[2] try, ChannelIDNumber := driver.executeScript(js)
; Msgbox % "ChannelIDNumber: " ChannelIDNumber
ChannelIDNumber := StrSplit(ChannelIDNumber, "option value=")
if(!UploadChannelName){ ChannelIDNumber := ChannelIDNumber[3]
Message = Failed to Grab Upload Channel Name SingleQuote = "
SaveOrPostProgress(Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") ChannelIDNumber := StrSplit(ChannelIDNumber, "data-private")
Return ChannelIDNumber := ChannelIDNumber[1]
ChannelIDNumber := StrReplace(ChannelIDNumber, SingleQuote, "")
ChannelIDNumber := StrReplace(ChannelIDNumber, " ", "")
; Msgbox % "ChannelIDNumber: " ChannelIDNumber
; js = return document.querySelector("#channelId").value;
; try, ChannelIDNumber := driver.executeScript(js)
; Msgbox % "ChannelIDNumber: " ChannelIDNumber
if(ChannelIDNumber = ""){
Message = ChannelIDNumber is blank. Unable to select Upload Channel
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
SaveDriverURLOFErrorPage()
Return
} }
Xpath = (//label[normalize-space()='%UploadChannelName%'])[1] ; //option[@value='762377'] ; freedomain
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000) Xpath = //option[@value='%ChannelIDNumber%']
try driver.FindElementByXPath(Xpath).click()
catch e {
Message = Failed to click on Channel using %ChannelIDNumber%.
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
SaveDriverURLOFErrorPage()
Return
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
}
*/
; Input Tags ; Input Tags
Message = Inputting Tags Message = Inputting Tags

@ -1,3 +1,4 @@
[Video-Uploader] [Video-Uploader]
Version=3.53 Version=3.49
Name=Freedomain Video Uploader Name=Freedomain Video Uploader
APIURL=

Loading…
Cancel
Save