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: 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
;------------------------------------------------
; Parler has a 1k char limit
@ -224,9 +221,9 @@ IniWrite, %ScriptVersion%, %SettingsIniFilepath%, %ScriptSettingsSection%, Scrip
; Download Program Updater
if(!FileExist(FreedomainProgramUpdaterFilepath)){
TooltipThis("Downloading Program Updater")
UrlDownloadToFile, %FreedomainProgramUpdaterURL%, %FreedomainProgramUpdaterFilepath%
ToolTip
; TooltipThis("Downloading Program Updater")
; UrlDownloadToFile, %FreedomainProgramUpdaterURL%, %FreedomainProgramUpdaterFilepath%
; ToolTip
}
@ -891,10 +888,15 @@ SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,Disc
ScriptRunTime := round(((A_TickCount - StartTime) / 1000), 2)
; DevModeMsgBox(URLOfLastErrorPage)
if(URLOfLastErrorPage != ""){
Message = Activating Tab of last failed post.
SaveOrPostProgress(Message:=Message,PostType:="Tooltip")
; DevModeMsgBox("pause")
; message = URLOfLastErrorPage: %URLOfLastErrorPage%
; DevModeMsgBox(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, 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, Button,x%StatusTextSecondRowXPos% y+%MarginSpace% w%WebsiteButtonWidths% h%ButtonHeights% Center, Steemit
@ -1021,6 +1023,13 @@ AddToTotalRunTime()
Return
ActivateParlerTab:
DevModeMsgBox("activating")
DevModeMsgBox(ParlerTabURL)
FindAndActivateTab(ParlerTabURL)
Return
SendErrorLoggingThroughTelegram:
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()
/*
Xpath = //span[normalize-space()="What's on your mind, Stefan?"]
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
@ -1205,7 +1214,7 @@ if(ImageAttachmentFilepath = "" AND Status){ ; upload a temporary file and then
Return
}
}
*/
}
if(ImageAttachmentFilepath != "") { ; otherwise send image straight to upload input box. The post box will open up automatically
Message = Attaching Image
@ -1319,9 +1328,11 @@ if(Status){
; Check login status by checking the header of the page for "Feed" text
js = return document.querySelector(".header__contain").innerText
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,ErrorSummaryVar,DiscordErrorLogging")
; ParlerTabURL :=
try ParlerTabURL := driver.URL
SaveDriverURLOFErrorPage()
Return
}
@ -1587,6 +1598,7 @@ if(InStr(CurrentTabURL, "/login")){
}
DiscordMessagePartOne := SubStr(Message, 1, SplitCharNumber)
SplitCharNumber := SplitCharNumber + 1
DiscordMessagePartTwo := SubStr(Message, SplitCharNumber)
@ -1674,7 +1686,7 @@ if(InStr(CurrentTabURL, "/login")){
Status := NavigateFromBaseURLTo(SubscribeStarProfileURL)
if(Status){
Message = Failed to Navigate to Feed URL
Message = Failed to Navigate to SubScribeStar Page
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
}
@ -2230,7 +2242,7 @@ if(InStr(CurrentTabURL, "/login")){
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
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(URL,PageTitle := "New Tab"){
NavigateFromBaseURLTo(URL){
if(!DriverStatus){ ; if not connected to selenium chrome, then re-connect
Status := CheckSeleniumDriver()
if(Status)
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 := StrSplit(URLBase, "/")
URLBase := URLBase[1]
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%"
DriverURLArray.Push(URL) ; Append an item to the array
NewTabCreated := 1
sleep, 1000
sleep, 2000
}
; msgbox,
@ -987,9 +987,23 @@ if(TotalTabsFound = 1){
; sleep, 1000
; msgbox, looping through tabs
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
if(CurrentTabTitle = PageTitle OR InStr(CurrentTabURL, URLBase)){
if(InStr(CurrentTabURL, URLBase)){
; msgbox, found it.`n%CurrentTabTitle% = %PageTitle%`n%CurrentTabURL% = %URLBase%
TabFoundSuccessfully := 1
; msgbox %CurrentTabTitle% = %PageTitle%
@ -1408,13 +1422,22 @@ SaveDriverURLOFErrorPage(){ ; save the url of the result page. That way if a tab
FindAndActivateTab(TabURL){
DevModeMsgBox(TabURL)
Loop, {
if(A_index = 30)
break
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
DevModeMsgBox(CurrentTabURL)
if(CurrentTabURL = TabURL)
Break

Loading…
Cancel
Save