Compare commits
11 Commits
8395c5c367
...
cf56ae8136
| Author | SHA1 | Date | |
|---|---|---|---|
| cf56ae8136 | |||
| 738e1af443 | |||
| f71def4542 | |||
| 20c2f44b0c | |||
| 997ee862ed | |||
| b378de8106 | |||
| ed307493b8 | |||
| 2860e4868f | |||
| 0e02ae24bd | |||
| b19482e10d | |||
| d7d3ce039f |
@@ -153,6 +153,7 @@ DownloadLatestChromium(){
|
|||||||
|
|
||||||
Process, Close, chromedriver.exe
|
Process, Close, chromedriver.exe
|
||||||
sleep, 5000 ; wait 5 seconds before checking again
|
sleep, 5000 ; wait 5 seconds before checking again
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
else,
|
else,
|
||||||
break
|
break
|
||||||
@@ -309,13 +310,16 @@ DownloadLatestChromium(){
|
|||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
MsgBox 0x40,, %Message%
|
MsgBox 0x40,, %Message%
|
||||||
|
|
||||||
|
ChromeFilepath := ; clear out chromefilepath variable in case the path changed
|
||||||
|
|
||||||
ToolTip
|
ToolTip
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
CheckForChromeUpdates(ChromeFilepath := ""){
|
||||||
CheckForChromeUpdates(ChromeFilepath := ""){
|
|
||||||
if(ChromeFilepath = "")
|
if(ChromeFilepath = "")
|
||||||
ChromeFilepath := GetInstalledChromeFilepath()
|
ChromeFilepath := GetInstalledChromeFilepath()
|
||||||
|
|
||||||
@@ -329,10 +333,10 @@ DownloadLatestChromium(){
|
|||||||
else, Return 0
|
else, Return 0
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
GetInstalledChromeFilepath(){
|
GetInstalledChromeFilepath(){
|
||||||
; ChromeFilepath is global variable
|
; ChromeFilepath is global variable
|
||||||
|
|
||||||
if(ChromeFilepath = ""){
|
if(ChromeFilepath = ""){
|
||||||
@@ -364,9 +368,9 @@ DownloadLatestChromium(){
|
|||||||
}
|
}
|
||||||
ToolTip
|
ToolTip
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GetInstalledChromeVersion(){
|
GetInstalledChromeVersion(){
|
||||||
|
|
||||||
if(ChromeFilepath = ""){
|
if(ChromeFilepath = ""){
|
||||||
GetInstalledChromeFilepath()
|
GetInstalledChromeFilepath()
|
||||||
@@ -379,10 +383,10 @@ DownloadLatestChromium(){
|
|||||||
InstalledChromeVersion := StrReplace(InstalledChromeVersion, "`r") ; replace any newline characters that powershell returns
|
InstalledChromeVersion := StrReplace(InstalledChromeVersion, "`r") ; replace any newline characters that powershell returns
|
||||||
|
|
||||||
return InstalledChromeVersion
|
return InstalledChromeVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
GetLatestChromeStableVersion(){
|
GetLatestChromeStableVersion(){
|
||||||
|
|
||||||
; https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints
|
; https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints
|
||||||
json_str := urldownloadtovar("https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json")
|
json_str := urldownloadtovar("https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json")
|
||||||
@@ -399,10 +403,10 @@ DownloadLatestChromium(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
return ChromeStableLatestVersion
|
return ChromeStableLatestVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
GetDownloadURLOfChromeAndDriver(InstalledChromeVersion){
|
GetDownloadURLOfChromeAndDriver(InstalledChromeVersion){
|
||||||
; Will return the download URL of Chrome for Testing and Chrome Driver, seperated by a ||
|
; Will return the download URL of Chrome for Testing and Chrome Driver, seperated by a ||
|
||||||
|
|
||||||
; https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints
|
; https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints
|
||||||
@@ -449,4 +453,4 @@ DownloadLatestChromium(){
|
|||||||
|
|
||||||
URLS = %chromeDLURL64%||%chromedriverDLURL64%
|
URLS = %chromeDLURL64%||%chromedriverDLURL64%
|
||||||
return URLS
|
return URLS
|
||||||
}
|
}
|
||||||
@@ -137,6 +137,10 @@ CheckDirExistAndCreate(Path){
|
|||||||
; -------------------------------/CheckDirExistAndCreate-------------------------------
|
; -------------------------------/CheckDirExistAndCreate-------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
; Script Updates
|
||||||
|
; ------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CheckIfUpdateAvailable(Filepath, CurrentVersion){
|
CheckIfUpdateAvailable(Filepath, CurrentVersion){
|
||||||
FileRead, ScriptUpdateContents, %Filepath%
|
FileRead, ScriptUpdateContents, %Filepath%
|
||||||
@@ -605,6 +609,33 @@ GetDateOrdinalSuffix(D) {
|
|||||||
|
|
||||||
; OnMsgbox - Custom Msgbox Screens
|
; OnMsgbox - Custom Msgbox Screens
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
|
|
||||||
|
ConfirmBeforeSubmitMsgboxFunc(){
|
||||||
|
/*
|
||||||
|
; Snippet to for check:
|
||||||
|
if (ConfirmBeforeSubmit && ConfirmBeforeSubmitMsgboxFunc() != true) {
|
||||||
|
Message = User Selected STOP button when asked for confirmation. Cancelling Rest of Site Upload.
|
||||||
|
SaveOrPostProgress(Message:=Message, PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
OnMessage(0x44, "OnMsgBoxUserConfirmation")
|
||||||
|
MsgBox 0x21, User Confirmation, Please check that all data was input correctly and fix any mistakes and then click PROCEED to finalize the Upload.`n`nClick STOP to cancel the rest of this Upload and move on to the next website.
|
||||||
|
OnMessage(0x44, "")
|
||||||
|
IfMsgBox OK, {
|
||||||
|
return true
|
||||||
|
} Else IfMsgBox Cancel, {
|
||||||
|
Message = User Selected STOP button when asked for confirmation. Cancelling Rest of Site Upload.
|
||||||
|
Return %Message%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
OnMsgBoxUpdateAvailable() {
|
OnMsgBoxUpdateAvailable() {
|
||||||
DetectHiddenWindows, On
|
DetectHiddenWindows, On
|
||||||
Process, Exist
|
Process, Exist
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
Function Libraries used in the following Projects:
|
Function Libraries used in the following Projects:
|
||||||
- [Freedomain Social Media Poster](https://freedomain.dev/yuriy/social-media-poster)
|
- [Freedomain Social Media Poster](https://freedomain.dev/yuriy/social-media-poster)
|
||||||
- [Freedomain Video Uploader](https://freedomain.dev/yuriy/video-uploader)
|
- [Freedomain Video Uploader](https://freedomain.dev/yuriy/video-uploader)
|
||||||
|
- [Freedomain Clips Uploader](https://freedomain.dev/yuriy/clips-uploader)
|
||||||
|
- [Freedomain Livestream Scheduler](https://freedomain.dev/yuriy/livestream-scheduler)
|
||||||
@@ -721,21 +721,27 @@ Selenium_LoopToSendValueByName(ElementName,NumOfLoops:=1,SleepLength:=1000,Strin
|
|||||||
}
|
}
|
||||||
|
|
||||||
Selenium_LoopToSendValueToXpath(Xpath,NumOfLoops:=1,SleepLength:=1000,StringTextContent:="",ClearElement:=0){
|
Selenium_LoopToSendValueToXpath(Xpath,NumOfLoops:=1,SleepLength:=1000,StringTextContent:="",ClearElement:=0){
|
||||||
; Msgbox % "StringTextContent: " StringTextContent
|
|
||||||
; Msgbox % "ClearElement: " ClearElement
|
|
||||||
|
|
||||||
loop, %NumOfLoops% {
|
loop, %NumOfLoops% {
|
||||||
; msgbox % ClearElement
|
|
||||||
if(ClearElement){
|
if(ClearElement){
|
||||||
Loop, 3 { ; have to do it multiple times to make it trigger properly
|
Loop, 3 { ; sometimes have to do it multiple times to make it trigger properly
|
||||||
|
Try PreviousValue := driver.findelementbyxpath(Xpath).Attribute("value") ;Xpath Value
|
||||||
|
|
||||||
try, driver.FindElementByXPath(Xpath).clear()
|
try, driver.FindElementByXPath(Xpath).clear()
|
||||||
sleep, 500
|
|
||||||
|
Try CurrentValue := driver.findelementbyxpath(Xpath).Attribute("value") ;Xpath Value
|
||||||
|
|
||||||
|
if(PreviousValue != CurrentValue){
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
sleep, 1000
|
||||||
|
; msgbox
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try driver.FindElementByXPath(Xpath).sendKeys(StringTextContent) ; Input Text
|
||||||
; ToolTip, Loop attempt: %A_index%
|
|
||||||
try driver.FindElementByXPath(Xpath).sendKeys(StringTextContent) ; Click on "upload image" button
|
|
||||||
catch e {
|
catch e {
|
||||||
if(A_index = NumOfLoops){
|
if(A_index = NumOfLoops){
|
||||||
Return "Failed"
|
Return "Failed"
|
||||||
@@ -790,17 +796,27 @@ Selenium_LoopToClickXpathAndWaitForOpenWindow(Xpath,NumOfLoops:=1,SleepLength:=1
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Selenium_LoopToClearXpath(Xpath,NumOfLoops:=1,SleepLength:=1000){
|
Selenium_LoopToClearXpath(Xpath,NumberOfAttemps:=1,SleepLength:=1000){
|
||||||
loop, %NumOfLoops% {
|
loop, %NumberOfAttemps% {
|
||||||
|
|
||||||
try driver.FindElementByXPath(Xpath).clear()
|
try driver.FindElementByXPath(Xpath).clear()
|
||||||
catch e {
|
catch e {
|
||||||
if(A_index = NumOfLoops){
|
|
||||||
Return "Failed"
|
Return "Failed"
|
||||||
}
|
}
|
||||||
|
|
||||||
sleep, %SleepLength%
|
sleep, %SleepLength%
|
||||||
Continue
|
|
||||||
|
try, InerText := driver.findelementbyxpath(Xpath).Attribute("value")
|
||||||
|
; Msgbox % "InerText: " InerText
|
||||||
|
if(InerText = "")
|
||||||
|
return
|
||||||
|
|
||||||
|
if(A_index = NumberOfAttemps){
|
||||||
|
return "Failed after %NumberOfAttemps"
|
||||||
}
|
}
|
||||||
Return
|
|
||||||
|
Continue
|
||||||
|
; Return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -834,12 +850,12 @@ SaveDriverURLOFErrorPage(){ ; save the url of the result page. That way if a tab
|
|||||||
|
|
||||||
GetHTMLValueFromXpathOuterHTML(XPATH, HTMLElementName){
|
GetHTMLValueFromXpathOuterHTML(XPATH, HTMLElementName){
|
||||||
|
|
||||||
Try ElementOuterHTML := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
|
Try ElementOuterHTML := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
|
||||||
; try Clipboard := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
|
; try Clipboard := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
|
||||||
; Try MsgBox,,Element OuterHTML: `n, % driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
|
; Try MsgBox,,Element OuterHTML: `n, % driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
|
||||||
|
|
||||||
; Match string between quotes following the HTMLELEMENTNAME
|
; Match string between quotes following the HTMLELEMENTNAME
|
||||||
RegexStatement = %HTMLElementName%="([^"]+)"
|
RegexStatement = %HTMLElementName%="([^"]+)"
|
||||||
|
|
||||||
; regexMatch := RegExMatch(ElementOuterHTML, "value=""([^""]+)""", match)
|
; regexMatch := RegExMatch(ElementOuterHTML, "value=""([^""]+)""", match)
|
||||||
regexMatch := RegExMatch(ElementOuterHTML, RegexStatement, match)
|
regexMatch := RegExMatch(ElementOuterHTML, RegexStatement, match)
|
||||||
|
|||||||
79
Shared-GoTos.ahk
Normal file
79
Shared-GoTos.ahk
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
; This #include needs to be at the bottom of the parent script
|
||||||
|
|
||||||
|
|
||||||
|
CheckForUpdates:
|
||||||
|
; The GUI buttons must have variable set to vUpdateAvailable and vChromeUpdateAvailable for button to get updated
|
||||||
|
|
||||||
|
; The following variables need to be set in the parent script
|
||||||
|
; GitReleasesAPIURL
|
||||||
|
; ChromeFilepath
|
||||||
|
|
||||||
|
Message = Checking for Updates
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
|
||||||
|
|
||||||
|
if(CheckForUpdates(GitReleasesAPIURL)){
|
||||||
|
GuiControl,,UpdateAvailable, Update Available!
|
||||||
|
}
|
||||||
|
|
||||||
|
if(CheckForChromeUpdates(ChromeFilepath)){
|
||||||
|
GuiControl,,ChromeUpdateAvailable, Chrome Update Available!
|
||||||
|
ChromeUpdateAvailable := 1
|
||||||
|
}
|
||||||
|
ToolTip
|
||||||
|
Return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
UpdateChrome:
|
||||||
|
|
||||||
|
if(CheckForChromeUpdates = "")
|
||||||
|
Status := CheckForChromeUpdates(ChromeFilepath)
|
||||||
|
|
||||||
|
if(!status){
|
||||||
|
OnMessage(0x44, "OnMsgBoxConfirmChromiumOverwrite")
|
||||||
|
MsgBox 0x41, Already Up-to-Date, Yor current Chromium version is already up to date. `nDo you want to download and overwrite it?
|
||||||
|
OnMessage(0x44, "")
|
||||||
|
|
||||||
|
IfMsgBox OK, {
|
||||||
|
Return
|
||||||
|
} Else IfMsgBox Cancel, {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Status := DownloadLatestChromium()
|
||||||
|
if(Status)
|
||||||
|
GuiControl,,ChromeUpdateAvailable, Chrome Up-to-Date
|
||||||
|
|
||||||
|
Return
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PasteClipboardToEditBox:
|
||||||
|
if(A_GuiControl = "PasteClipboardToSMPBody"){
|
||||||
|
GuiControl,,PostBody, %Clipboard%
|
||||||
|
}
|
||||||
|
|
||||||
|
if(A_GuiControl = "PasteClipboardToSMPTitle"){
|
||||||
|
GuiControl,,PostTitle, %Clipboard%
|
||||||
|
}
|
||||||
|
|
||||||
|
if(A_GuiControl = "PasteClipboardToFLSTitle"){
|
||||||
|
GuiControl,,LivestreamTitle, %Clipboard%
|
||||||
|
}
|
||||||
|
|
||||||
|
if(A_GuiControl = "PasteClipboardToFLSDescription"){
|
||||||
|
GuiControl,,LivestreamDescription, %Clipboard%
|
||||||
|
}
|
||||||
|
|
||||||
|
if(A_GuiControl = "PasteClipboardToFLSTags"){
|
||||||
|
GuiControl,,LivestreamTags, %Clipboard%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Return
|
||||||
1
Update-Functions.ahk
Normal file
1
Update-Functions.ahk
Normal file
@@ -0,0 +1 @@
|
|||||||
|
; Code migrated to Shared-GoTo's
|
||||||
Reference in New Issue
Block a user