Temporarily removed auto-updater functionality until i can reprogram it to pull from gitea, Small error checks for multiple sites, Added ability to activate Parler tab by clicking on Parler button on Post Complete Window

main
Yuriy 2 years ago
parent e87e7e7b63
commit b5f51ca937

@ -79,9 +79,6 @@ Changelog := StrReplace(changelog, "`n", "--")
; @todo: Add tags support on all sites that support it - ask stef is useful ; @todo: Add tags support on all sites that support it - ask stef is useful
; @todo: save post tags and title to teh same file as ini file instead of two files ; @todo: save post tags and title to teh same file as ini file instead of two files
; @todo: Add workaround for all chrome tabs not being counted properly by selenium, using array?
; @todo: add support for scheduled posts.
; Misc info ; Misc info
;------------------------------------------------ ;------------------------------------------------
; Parler has a 1k char limit ; Parler has a 1k char limit
@ -224,9 +221,9 @@ IniWrite, %ScriptVersion%, %SettingsIniFilepath%, %ScriptSettingsSection%, Scrip
; Download Program Updater ; Download Program Updater
if(!FileExist(FreedomainProgramUpdaterFilepath)){ if(!FileExist(FreedomainProgramUpdaterFilepath)){
TooltipThis("Downloading Program Updater") ; TooltipThis("Downloading Program Updater")
UrlDownloadToFile, %FreedomainProgramUpdaterURL%, %FreedomainProgramUpdaterFilepath% ; UrlDownloadToFile, %FreedomainProgramUpdaterURL%, %FreedomainProgramUpdaterFilepath%
ToolTip ; ToolTip
} }
@ -891,10 +888,15 @@ SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,Disc
ScriptRunTime := round(((A_TickCount - StartTime) / 1000), 2) ScriptRunTime := round(((A_TickCount - StartTime) / 1000), 2)
; DevModeMsgBox(URLOfLastErrorPage)
if(URLOfLastErrorPage != ""){ if(URLOfLastErrorPage != ""){
Message = Activating Tab of last failed post. Message = Activating Tab of last failed post.
SaveOrPostProgress(Message:=Message,PostType:="Tooltip") SaveOrPostProgress(Message:=Message,PostType:="Tooltip")
; DevModeMsgBox("pause")
; message = URLOfLastErrorPage: %URLOfLastErrorPage%
; DevModeMsgBox(URLOfLastErrorPage)
FindAndActivateTab(URLOfLastErrorPage) FindAndActivateTab(URLOfLastErrorPage)
} }
@ -976,7 +978,7 @@ Gui, Font, s%GUINormalFontSize%
Gui, Add, Button,x%StatusTextSecondRowXPos% y+%MarginSpace% w%WebsiteButtonWidths% h%ButtonHeights% Center, Flote Gui, Add, Button,x%StatusTextSecondRowXPos% y+%MarginSpace% w%WebsiteButtonWidths% h%ButtonHeights% Center, Flote
Gui, Add, Edit, x+5 w%WebsiteStatusEditWidths% h%ButtonHeights%, %Flote% Gui, Add, Edit, x+5 w%WebsiteStatusEditWidths% h%ButtonHeights%, %Flote%
Gui, Add, Button,x%StatusTextSecondRowXPos% y+%MarginSpace% w%WebsiteButtonWidths% h%ButtonHeights% Center, Parler Gui, Add, Button,x%StatusTextSecondRowXPos% y+%MarginSpace% w%WebsiteButtonWidths% h%ButtonHeights% gActivateParlerTab Center, Parler
Gui, Add, Edit, x+5 w%WebsiteStatusEditWidths% h%ButtonHeights%, %Parler% Gui, Add, Edit, x+5 w%WebsiteStatusEditWidths% h%ButtonHeights%, %Parler%
Gui, Add, Button,x%StatusTextSecondRowXPos% y+%MarginSpace% w%WebsiteButtonWidths% h%ButtonHeights% Center, Steemit Gui, Add, Button,x%StatusTextSecondRowXPos% y+%MarginSpace% w%WebsiteButtonWidths% h%ButtonHeights% Center, Steemit
@ -1021,6 +1023,13 @@ AddToTotalRunTime()
Return Return
ActivateParlerTab:
DevModeMsgBox("activating")
DevModeMsgBox(ParlerTabURL)
FindAndActivateTab(ParlerTabURL)
Return
SendErrorLoggingThroughTelegram: SendErrorLoggingThroughTelegram:
Message = Uploading Errorlog to FDRBotTesting Telegram Server. Message = Uploading Errorlog to FDRBotTesting Telegram Server.
@ -1188,7 +1197,7 @@ if(ImageAttachmentFilepath = "" AND Status){ ; upload a temporary file and then
} }
; driver.FindElementByXPath(Xpath).click() ; driver.FindElementByXPath(Xpath).click()
/*
Xpath = //span[normalize-space()="What's on your mind, Stefan?"] Xpath = //span[normalize-space()="What's on your mind, Stefan?"]
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000) Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
@ -1205,7 +1214,7 @@ if(ImageAttachmentFilepath = "" AND Status){ ; upload a temporary file and then
Return Return
} }
} }
*/
} }
if(ImageAttachmentFilepath != "") { ; otherwise send image straight to upload input box. The post box will open up automatically if(ImageAttachmentFilepath != "") { ; otherwise send image straight to upload input box. The post box will open up automatically
Message = Attaching Image Message = Attaching Image
@ -1319,9 +1328,11 @@ if(Status){
; Check login status by checking the header of the page for "Feed" text ; Check login status by checking the header of the page for "Feed" text
js = return document.querySelector(".header__contain").innerText js = return document.querySelector(".header__contain").innerText
try status := driver.executeScript(js) try status := driver.executeScript(js)
if(InStr(!status, "Feed")){ if(!InStr(status, "Feed")){
; SaveOrPostProgress(Message:="Login Expired. Please log back in",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") ; SaveOrPostProgress(Message:="Login Expired. Please log back in",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
SaveOrPostProgress(Message:="Login Expired. Please log back in",PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:="Login Expired. Please log back in",PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
; ParlerTabURL :=
try ParlerTabURL := driver.URL
SaveDriverURLOFErrorPage() SaveDriverURLOFErrorPage()
Return Return
} }
@ -1587,6 +1598,7 @@ if(InStr(CurrentTabURL, "/login")){
} }
DiscordMessagePartOne := SubStr(Message, 1, SplitCharNumber) DiscordMessagePartOne := SubStr(Message, 1, SplitCharNumber)
SplitCharNumber := SplitCharNumber + 1 SplitCharNumber := SplitCharNumber + 1
DiscordMessagePartTwo := SubStr(Message, SplitCharNumber) DiscordMessagePartTwo := SubStr(Message, SplitCharNumber)
@ -1674,7 +1686,7 @@ if(InStr(CurrentTabURL, "/login")){
Status := NavigateFromBaseURLTo(SubscribeStarProfileURL) Status := NavigateFromBaseURLTo(SubscribeStarProfileURL)
if(Status){ if(Status){
Message = Failed to Navigate to Feed URL Message = Failed to Navigate to SubScribeStar Page
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
} }
@ -2230,7 +2242,7 @@ if(InStr(CurrentTabURL, "/login")){
sleep, 2000 sleep, 2000
SaveOrPostProgress(Message:="Inputting Post Content",PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:="Inputting Post Content`nMight take 5-15 seconds to get input",PostType:="Tooltip,ErrorLoggingTextFile")
; Click the plus button to make the title box show up ; Click the plus button to make the title box show up
Xpath = //div[@class='m-composer__base m-composer__base--withPreview']//i[@class='material-icons ng-star-inserted'][normalize-space()='add_circle_outline'] Xpath = //div[@class='m-composer__base m-composer__base--withPreview']//i[@class='material-icons ng-star-inserted'][normalize-space()='add_circle_outline']

@ -947,29 +947,29 @@ if(TotalTabsFound = 1){
} }
; -------------------------------NavigateFromBaseURLTo------------------------------- ; -------------------------------NavigateFromBaseURLTo-------------------------------
NavigateFromBaseURLTo(URL,PageTitle := "New Tab"){ NavigateFromBaseURLTo(URL){
if(!DriverStatus){ ; if not connected to selenium chrome, then re-connect if(!DriverStatus){ ; if not connected to selenium chrome, then re-connect
Status := CheckSeleniumDriver() Status := CheckSeleniumDriver()
if(Status) if(Status)
Return "Failed" Return "Failed"
CreateArrayOfTabs() CreateArrayOfTabs() ; store all open tabs to memory for later usage
} }
if(ReuseTabs){ if(ReuseTabs){ ; pull out base of URL and check if it's within the array of tabs
URLBase := StrReplace(URL,"https://","") URLBase := StrReplace(URL,"https://","")
URLBase := StrSplit(URLBase, "/") URLBase := StrSplit(URLBase, "/")
URLBase := URLBase[1] URLBase := URLBase[1]
URLBase := StrReplace(URLBase, "www.","") URLBase := StrReplace(URLBase, "www.","")
} }
if(!HasSubstringVal(DriverURLArray, URLBase)) ; returns position of value in array if(!HasSubstringVal(DriverURLArray, URLBase)) ; if base url is not in tab array, create new tab and push url to array
{ {
try, run "%ChromeFilepath%" "%URL%" try, run "%ChromeFilepath%" "%URL%"
DriverURLArray.Push(URL) ; Append an item to the array DriverURLArray.Push(URL) ; Append an item to the array
NewTabCreated := 1 NewTabCreated := 1
sleep, 1000 sleep, 2000
} }
; msgbox, ; msgbox,
@ -987,9 +987,23 @@ if(TotalTabsFound = 1){
; sleep, 1000 ; sleep, 1000
; msgbox, looping through tabs ; msgbox, looping through tabs
try CurrentTabTitle := driver.window.title try CurrentTabTitle := driver.window.title
; caused by tab being manually closed. Not sure if this is the only cause though.
if(CurrentTabTitle = "") {
Message = CurrentTabTitle: %CurrentTabTitle%
DevModeMsgBox(Message)
Message = CurrenttabURL: %CurrentTabURL%
DevModeMsgBox(Message)
; try driver.SwitchToNextWindow
Continue
}
try CurrentTabURL := driver.Url try CurrentTabURL := driver.Url
if(CurrentTabTitle = PageTitle OR InStr(CurrentTabURL, URLBase)){ if(InStr(CurrentTabURL, URLBase)){
; msgbox, found it.`n%CurrentTabTitle% = %PageTitle%`n%CurrentTabURL% = %URLBase% ; msgbox, found it.`n%CurrentTabTitle% = %PageTitle%`n%CurrentTabURL% = %URLBase%
TabFoundSuccessfully := 1 TabFoundSuccessfully := 1
; msgbox %CurrentTabTitle% = %PageTitle% ; msgbox %CurrentTabTitle% = %PageTitle%
@ -1408,13 +1422,22 @@ SaveDriverURLOFErrorPage(){ ; save the url of the result page. That way if a tab
FindAndActivateTab(TabURL){ FindAndActivateTab(TabURL){
DevModeMsgBox(TabURL)
Loop, { Loop, {
if(A_index = 30) if(A_index = 30)
break break
try CurrentTabTitle := driver.window.title try CurrentTabTitle := driver.window.title
if(CurrentTabTitle = "") ; caused by tab being manually closed. Not sure if this is the only cause though.
{
; DevModeMsgBox("currenttabtutle is blank")
try driver.SwitchToNextWindow
Continue
}
; DevModeMsgBox(CurrentTabTitle)
try CurrentTabURL := driver.Url try CurrentTabURL := driver.Url
DevModeMsgBox(CurrentTabURL)
if(CurrentTabURL = TabURL) if(CurrentTabURL = TabURL)
Break Break

Loading…
Cancel
Save