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
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user