You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
4.0 KiB
Plaintext
129 lines
4.0 KiB
Plaintext
; Notes/Extra Info/#Includes
|
|
;------------------------------------------------
|
|
|
|
|
|
|
|
; Chrome Global Variables
|
|
;------------------------------------------------
|
|
; Chrome/Selenium
|
|
global ChromeFilepath
|
|
; Declare global variables here so they don't have to be declared in each script
|
|
global ChromeTabsURLArray
|
|
global DriverTitleArray
|
|
global LastWebsitePostURL
|
|
global CurrentTabURL
|
|
global URLOfLastErrorPage
|
|
|
|
|
|
|
|
|
|
; Chrome Related Functions
|
|
;------------------------------------------------
|
|
GetChromeFilepath(){
|
|
; ChromeFilepath is global variable
|
|
; Establish Variable with Filepath to be used throughout the script
|
|
|
|
ChromePortableFilepath = %A_ScriptDir%\Lib\chrome-win64\chrome.exe
|
|
|
|
if(FileExist(ChromePortableFilepath)){
|
|
ChromeFilepath := ChromePortableFilepath
|
|
|
|
Message = Using Chromium Portable for Upload
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
|
}
|
|
else {
|
|
if(FileExist("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"))
|
|
ChromeFilepath = C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
|
|
|
|
if(FileExist("C:\Program Files\Google\Chrome\Application\chrome.exe"))
|
|
ChromeFilepath = C:\Program Files\Google\Chrome\Application\chrome.exe
|
|
}
|
|
}
|
|
|
|
GetChromeVersion(){
|
|
; https://stackoverflow.com/questions/52457766/how-can-i-get-google-chromes-version-number
|
|
; Command = powershell `$ChromePath = 'C:\Program Files\Google\Chrome\Application\chrome.exe' `; [System.Diagnostics.FileVersionInfo]::GetVersionInfo($ChromePath).ProductVersion
|
|
|
|
; command = powershell $(Get-Package -Name 'Google Chrome').Version
|
|
; ChromeVersion := RunCMD(command)
|
|
; ChromeVersion := StrSplit(ChromeVersion, "`r")[1] ; remove newline character if it exists
|
|
|
|
if(ChromeFilepath = ""){
|
|
GetChromeFilepath()
|
|
}
|
|
|
|
GetChromeVersionCommand = powershell (Get-Item '%ChromeFilepath%').VersionInfo.ProductVersion
|
|
Chromeversion := RunCMD(GetChromeVersionCommand)
|
|
ChromeVersion := StrReplace(ChromeVersion, "`r")[1] ; replace any newline characters that powershell returns
|
|
return 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")
|
|
|
|
; requires #include of json.ahk in parent script
|
|
parsed := JSON.Load(json_str)
|
|
|
|
ChromelabsJsonEntriesCount := parsed.versions.count()
|
|
|
|
if(ChromelabsJsonEntriesCount = ""){
|
|
return "Failed to parse chromedriver json. "
|
|
}
|
|
|
|
loop % ChromelabsJsonEntriesCount {
|
|
|
|
if(A_index = ChromelabsJsonEntriesCount){
|
|
Message = "Failed to find %ChromeVersion% in the ChromeLabs Json"
|
|
return Message
|
|
}
|
|
|
|
if(ChromeVersion = parsed.versions[A_Index].version){
|
|
|
|
VersionIndex := A_Index
|
|
|
|
; 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() {
|
|
|
|
if(parsed.versions[VersionIndex].downloads.chromedriver[A_Index].platform = "win64")
|
|
chromedriverDLURL64 := parsed.versions[VersionIndex].downloads.chromedriver[A_Index].url
|
|
}
|
|
|
|
break
|
|
}
|
|
}
|
|
|
|
URLS = %chromeDLURL64%||%chromedriverDLURL64%
|
|
return URLS
|
|
} |