Merge branch 'main' of https://git.freedomainplaylists.com/yuriy/Freedomain-Posters-Shared-Functions
This commit is contained in:
@@ -62,7 +62,28 @@ GetChromeVersion(){
|
||||
}
|
||||
|
||||
|
||||
GetURLofLatestChromedriver(ChromeVersion){
|
||||
GetLatestChromeStableVersion(){
|
||||
|
||||
; 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")
|
||||
|
||||
|
||||
; converts json data variable into object
|
||||
parsed := JSON.Load(json_str)
|
||||
|
||||
|
||||
try CurrentChromeStableVersion := parsed.channels.stable.version
|
||||
|
||||
if(CurrentChromeStableVersion = ""){
|
||||
return "Failed to parse json. "
|
||||
}
|
||||
|
||||
return CurrentChromeStableVersion
|
||||
}
|
||||
|
||||
|
||||
GetDownloadURLOfChromeAndDriver(ChromeVersion){
|
||||
; 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
|
||||
json_str := urldownloadtovar("https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json")
|
||||
@@ -87,22 +108,25 @@ GetURLofLatestChromedriver(ChromeVersion){
|
||||
|
||||
VersionIndex := A_Index
|
||||
|
||||
; loop through the platforms to get download URL
|
||||
; loop through the platforms to get download URL for Chrome
|
||||
loop % parsed.versions[VersionIndex].downloads.chrome.count() {
|
||||
|
||||
if(parsed.versions[VersionIndex].downloads.chrome[A_Index].platform = "win64")
|
||||
chromeDLURL64 := parsed.versions[VersionIndex].downloads.chromedriver[A_Index].url
|
||||
}
|
||||
|
||||
|
||||
; loop through the platforms to get download URL for Chromedriver
|
||||
loop % parsed.versions[VersionIndex].downloads.chromedriver.count() {
|
||||
|
||||
; 64 bit version
|
||||
if(parsed.versions[VersionIndex].downloads.chromedriver[A_Index].platform = "win64")
|
||||
chromedriverDLURL64 := parsed.versions[VersionIndex].downloads.chromedriver[A_Index].url
|
||||
|
||||
; 32 bit version
|
||||
if(parsed.versions[VersionIndex].downloads.chromedriver[A_Index].platform = "win32")
|
||||
chromedriverDLURL32 := parsed.versions[VersionIndex].downloads.chromedriver[A_Index].url
|
||||
}
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
; Msgbox % "chromedriverDLURL32: " chromedriverDLURL32
|
||||
; Msgbox % "chromedriverDLURL64: " chromedriverDLURL64
|
||||
return chromedriverDLURL32
|
||||
URLS = %chromeDLURL64%||%chromedriverDLURL64%
|
||||
return URLS
|
||||
}
|
||||
@@ -5,8 +5,6 @@
|
||||
|
||||
ShowSeleniumErrorMsgbox(){
|
||||
|
||||
; Clipboard := ChromeVersion
|
||||
; Msgbox % "Chromeversion: " Chromeversion
|
||||
IniRead, PreviousWorkingChromeVersion, Settings.ini, Misc, ChromeVersion, %A_Space%
|
||||
; IniWrite, %ChromeVersion%, Settings.ini, Misc, ChromeVersion
|
||||
; msgbox, failed to connect to Chrome for some reason.
|
||||
@@ -14,13 +12,14 @@ ShowSeleniumErrorMsgbox(){
|
||||
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
|
||||
OnMessage(0x44, "OnMsgBoxChromeDriverFailed")
|
||||
MsgBox 0x40043, Error, Failed to Connect to Chrome. `nMost likely issue is either Chrome has some sort of dialogue box open or ChromeDriver needs to be updated.`n`nClick "Reload" to reload the script to try again`nClick "ChromeDriver" to open up the ChromeDriver download page. `n`nClick "Instructions" to open up the instructions website for updating Chromedriver.`n`nPossibly Helpful Info:`nCurrent Chrome Version: %Chromeversion%Chrome Version of Last Successfull Upload: %PreviousWorkingChromeVersion%
|
||||
MsgBox 0x40043, Error, Failed to Connect to Chrome. `nPossible Causes for this:`n1)One of your tabs is stuck loading/refreshing. (Try closing all tabs) `n2)Chrome has a dialogue box open `n3)ChromeDriver needs to be updated.`n`nClick "Reload" to reload the script to try again`nClick "ChromeDriver" to open up the ChromeDriver download page. `n`nClick "Instructions" to open up the instructions website for updating Chromedriver.`n`nPossibly Helpful Info:`nCurrent Chrome Version: %Chromeversion%Chrome Version of Last Successfull Upload: %PreviousWorkingChromeVersion%
|
||||
OnMessage(0x44, "")
|
||||
|
||||
IfMsgBox Yes, {
|
||||
; Reload script
|
||||
Reload
|
||||
} Else IfMsgBox No, {
|
||||
}
|
||||
Else IfMsgBox No, {
|
||||
run, https://chromedriver.chromium.org/downloads
|
||||
ExitApp
|
||||
; open chromedriver site
|
||||
@@ -29,12 +28,7 @@ ShowSeleniumErrorMsgbox(){
|
||||
run, %url%
|
||||
}
|
||||
ExitApp
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
; -------------------------------Tab Navigation & Activation-------------------------------
|
||||
|
||||
@@ -183,12 +177,12 @@ CheckCurrentTabForCurrentSite(){
|
||||
|
||||
if(!InStr(CurrentTabURL, CurrentSite)){
|
||||
Message = Chromedriver failed to switch to %CurrentSite%. Current Tab URL: %CurrentTabURL%
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar")
|
||||
return "Failed"
|
||||
}
|
||||
else, {
|
||||
Message = CheckCurrentTabForCurrentSite() passed successfully
|
||||
SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile")
|
||||
}
|
||||
}
|
||||
/*
|
||||
@@ -394,12 +388,12 @@ ActivateChromeTab(URL){
|
||||
if(A_index < 3){
|
||||
if(CurrentTabURL = StartingTabURL){
|
||||
Message = Current Tab URL is THE SAME as Starting URL after %A_index% tab switches`nStuck on this tab?
|
||||
SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile")
|
||||
CheckForAlerts()
|
||||
}
|
||||
else, {
|
||||
Message = Current Tab URL is DIFFERENT from starting URL after %A_index% tab switches
|
||||
SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile")
|
||||
}
|
||||
|
||||
if(LastActiveTab = CurrentTabURL){
|
||||
@@ -429,7 +423,7 @@ ActivateChromeTab(URL){
|
||||
; / loop through tabs
|
||||
}
|
||||
Message = ActivateChromeTab function failed to activate tab for %urlBase% after looping through %NumberOfTabActivationLoops% tabs
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
|
||||
return "Failed"
|
||||
}
|
||||
|
||||
@@ -438,7 +432,7 @@ ActivateChromeTab(URL){
|
||||
|
||||
CheckForAlerts(){
|
||||
Message = Checking for Any Obstructing Alerts in Chrome
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
|
||||
|
||||
status := 1
|
||||
try driver.SwitchToAlert()
|
||||
@@ -450,7 +444,7 @@ CheckForAlerts(){
|
||||
if(status){
|
||||
; msgbox, alert found
|
||||
; Message = Page Alert Found. Dismissing.
|
||||
Message = Page Alert Found. Accepting.
|
||||
Message = Page Alert Found. Accepting so page gets refreshed.
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
try driver.switchToalert().accept()
|
||||
; try driver.switchToalert().dismiss()
|
||||
@@ -773,6 +767,29 @@ Selenium_LoopToClearXpath(Xpath,NumOfLoops:=1,SleepLength:=1000){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Selenium_TypeTextIntoElement(Text, Xpath){
|
||||
|
||||
StrLengthOfPost := StrLen(Text)
|
||||
Loop % StrLengthOfPost{
|
||||
|
||||
Current_Char := SubStr(Text, A_index, 1)
|
||||
; Msgbox % "Current_Char: " Current_Char
|
||||
|
||||
; driver.FindElementByXPath(Xpath).SendKeys(VAR)
|
||||
|
||||
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=1,SleepLength:=100,StringTextContent:=Current_Char)
|
||||
if(Status){
|
||||
Message = Failed to Input Text
|
||||
Return Message
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
SaveDriverURLOFErrorPage(){ ; save the url of the result page. That way if a tab is not found for a site, we can open up a tab from this tab instead of middle of nowhere. That way we can keep the tabs together
|
||||
try URLOfLastErrorPage := driver.URL
|
||||
}
|
||||
|
||||
@@ -1,58 +1,3 @@
|
||||
;---ENVIRONMENT---------------------------------------------------------------------
|
||||
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
|
||||
;#Warn ; Enable warnings to assist with detecting common errors.
|
||||
;DetectHiddenWindows, On
|
||||
#SingleInstance, Force
|
||||
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
|
||||
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
|
||||
;SetKeyDelay, 500
|
||||
CoordMode, ToolTip, Screen
|
||||
CoordMode, Mouse, Screen
|
||||
;#NoTrayIcon
|
||||
;Menu, Tray, Icon, ..\Icons\ICONNAMEHERE
|
||||
|
||||
;---Notes/Extra Info/#Includes------------------------------------------------------
|
||||
|
||||
|
||||
;---VARIABLES-----------------------------------------------------------------------
|
||||
|
||||
|
||||
;---MAIN SCRIPT---------------------------------------------------------------------
|
||||
/*
|
||||
; Example Code:
|
||||
#include URLDownloadToVar.ahk
|
||||
URL = https://www.bitchute.com/video/WdxitRyWLZQ/
|
||||
URLContents := URLDownloadToVar(URL)
|
||||
TextFileName := yyyy . MM . dd . "_URLToVarDownload"
|
||||
FileAppend, URLContents, %A_ScriptDir%/%TextFileName%.txt
|
||||
run, %A_ScriptDir%/%TextFileName%.txt
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
; Example 2
|
||||
#SingleInstance,Force
|
||||
url=https://api.coindesk.com/v1/bpi/currentprice.json ; Plce URL here
|
||||
Gui,Add,Edit,w800 h500,% URLDownloadToVar(url)
|
||||
Gui,show,
|
||||
return
|
||||
|
||||
*/
|
||||
|
||||
; Example 2
|
||||
/*#SingleInstance,Force
|
||||
url=https://fdrpodcasts.com/api/?method=QueryPodcasts&keyword=4500 ; Plce URL here
|
||||
url := URLDownloadToVar(url)
|
||||
url := StrReplace(URL, "\/", "/")
|
||||
|
||||
Msgbox % "url: " url
|
||||
|
||||
Gui,Add,Edit,w800 h500,% URLDownloadToVar(url)
|
||||
Gui,show,
|
||||
return
|
||||
|
||||
*/
|
||||
|
||||
URLDownloadToVar(url){
|
||||
hObject:=ComObjCreate("WinHttp.WinHttpRequest.5.1")
|
||||
hObject.Open("GET",url)
|
||||
|
||||
Reference in New Issue
Block a user