Chrome.ahk - funktioniert nach Google Chrome Update auf Version 90 nicht mehr. Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Nussbeisser
Posts: 113
Joined: 17 Jul 2019, 08:49

Chrome.ahk - funktioniert nach Google Chrome Update auf Version 90 nicht mehr.

15 Apr 2021, 11:03

Hallo zusammen,
Ich habe heute mein Browser Google Chrome auf Version 90.0.4430.72 aktualisiert. Seitdem funktionieren alle meine Scripte die auf Chrome.ahk basieren nicht mehr.

Meldung:
---------------------------
Erstellen eines Datenverzeichnisses fehlgeschlagen
---------------------------
Google Chrome kann im folgenden Datenverzeichnis weder lesen noch schreiben: ChromeProfile.
---------------------------
OK
--------------------------
-

Vor dem Update hat alles funktioniert, der Ordner ChromeProfile existiert und ist nicht schreibt geschützt.
Habe mir Chrome.ahk erneut heruntergeladen, wenn ich die Example-Dateien ausführe, bekomme ich die gleiche Meldung. Ordner ChromeProfile wird erstellt ist aber leer.

Tritt der Fehler bei Euch auch auf?
LG
burque505
Posts: 1734
Joined: 22 Jan 2017, 19:37

Re: Chrome.ahk Nach Google Chrome Update auf Version 90 funktioniert nicht mehr

15 Apr 2021, 11:40

Hallo @Nussbeisser, dieser Fehler tritt auch bei mir auf.

Workaround (am Anfang des Skripts):

Code: Select all

full_command_line := DllCall("GetCommandLine", "str")

if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)"))
{
    try
    {
        if A_IsCompiled
            Run *RunAs "%A_ScriptFullPath%" /restart
        else
            Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%"
    }
    ExitApp
}
Nussbeisser
Posts: 113
Joined: 17 Jul 2019, 08:49

Re: Chrome.ahk Nach Google Chrome Update auf Version 90 funktioniert nicht mehr

15 Apr 2021, 12:32

Hallo, Danke für die schnelle Antwort!
Jetzt läuft es aber mein Profile Ordner wird nicht benutzt.
stattdessen nimmt chrome folgende Pfad:
Profilpfad: C:\Program Files (x86)\Google\Chrome\Application\ChromeProfile\Default
burque505
Posts: 1734
Joined: 22 Jan 2017, 19:37

Re: Chrome.ahk Nach Google Chrome Update auf Version 90 funktioniert nicht mehr

15 Apr 2021, 12:56

Man muss mindestens einmal ein neues ChromeProfile erstellen.

Code: Select all

FileCreateDir, ChromeProfile
ChromeInst := new Chrome("ChromeProfile")
Wenn du das Skript das nächste Mal ausführst ist diese Zeile nicht mehr nötig, da der ChromeProfile-Ordner jetzt vorhanden ist:

Code: Select all

;FileCreateDir, ChromeProfile
EDIT: :oops: Das war falsch! Bei mir auch wurde kein neuer ChromeProfile-Ordner erstellt.
Last edited by burque505 on 15 Apr 2021, 13:23, edited 1 time in total.
Nussbeisser
Posts: 113
Joined: 17 Jul 2019, 08:49

Re: Chrome.ahk Nach Google Chrome Update auf Version 90 funktioniert nicht mehr

15 Apr 2021, 13:23

Bei mir funktioniert es leider nicht.
z.B. Aus der Ordner Examples > InjectJS.ahk
Vor update auf version 90: Wenn ich die Datei InjectJS.ahk ausgeführt habe, wurde der Ordner ChromeProfile erstellt, in diesem Ordner wurden meine Dateien gespeichert. Wenn ich jetzt ausführe, also mit Version 90. bleibt der Ordner leer und Chrome greift immer auf Ordner: C:\Program Files (x86)\Google\Chrome\Application\ChromeProfile\Default zu.

Code: Select all

#NoEnv
SetBatchLines, -1

#Include ../Chrome.ahk

full_command_line := DllCall("GetCommandLine", "str")

if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)"))
{
    try
    {
        if A_IsCompiled
            Run *RunAs "%A_ScriptFullPath%" /restart
        else
            Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%"
    }
    ExitApp
}
; --- Create a new Chrome instance ---

FileCreateDir, ChromeProfile
ChromeInst := new Chrome("ChromeProfile", "https://autohotkey.com/")



; --- Connect to the page ---

if !(PageInst := ChromeInst.GetPage())
{
	MsgBox, Could not retrieve page!
	ChromeInst.Kill()
}
else
{
	; --- Perform JavaScript injection ---
	
	Loop
	{
		InputBox, JS,,
		( LTrim
		Enter some JavaScript to be run on the page, or leave blank to exit. For example:
		
		alert('hi');
		window.location = "https://p.ahkscript.org/";
		)
		
		if (JS == "" || ErrorLevel)
			break
		
		try
			Result := PageInst.Evaluate(JS)
		catch e
		{
			MsgBox, % "Exception encountered in " e.What ":`n`n"
			. e.Message "`n`n"
			. "Specifically:`n`n"
			. Chrome.Jxon_Dump(Chrome.Jxon_Load(e.Extra), "`t")
			
			continue
		}
		
		MsgBox, % "Result:`n" Chrome.Jxon_Dump(Result, "`t")
	}
	
	
	; --- Close the Chrome instance ---
	
	try
		PageInst.Call("Browser.close") ; Fails when running headless
	catch
		ChromeInst.Kill()
	PageInst.Disconnect()
}

ExitApp
return
burque505
Posts: 1734
Joined: 22 Jan 2017, 19:37

Re: Chrome.ahk Nach Google Chrome Update auf Version 90 funktioniert nicht mehr  Topic is solved

15 Apr 2021, 13:25

@Nussbeisser, das ist auch bei mir der Fall. Ich bitte um Entschuldigung.

EDIT: Man muss jetzt den absoluten Pfadnamen eingeben:

Code: Select all

ChromeInst := new Chrome("C:\Users\HattuMoehrchen\Desktop\AHK\Chrome.ahk\Chrome.ahk-1.2\ChromeProfile")
Last edited by burque505 on 15 Apr 2021, 13:32, edited 1 time in total.
Nussbeisser
Posts: 113
Joined: 17 Jul 2019, 08:49

Re: Chrome.ahk Nach Google Chrome Update auf Version 90 funktioniert nicht mehr

15 Apr 2021, 13:30

burque505 wrote:
15 Apr 2021, 13:25
@Nussbeisser, das ist auch bei mir der Fall. Ich bitte um Entschuldigung.
Da gibt es nicht zu entschuldigen, ich danke dir vielmals dass du dich mit mein Problem beschäftigst.
burque505
Posts: 1734
Joined: 22 Jan 2017, 19:37

Re: Chrome.ahk - funktioniert nach Google Chrome Update auf Version 90 nicht mehr.

15 Apr 2021, 13:35

:D Nicht zu danken, @Nussbeisser, ich habe was davon gelernt. Und siehe oben, jetzt habe ich den erwünschten (nicht leeren) ChromeProfile-Ordner.
Nussbeisser
Posts: 113
Joined: 17 Jul 2019, 08:49

Re: Chrome.ahk - funktioniert nach Google Chrome Update auf Version 90 nicht mehr.

15 Apr 2021, 13:38

Ja, bei mir funktioniert es auch :)
Vielen lieben Dank!
Nussbeisser
Posts: 113
Joined: 17 Jul 2019, 08:49

Re: Chrome.ahk - funktioniert nach Google Chrome Update auf Version 90 nicht mehr.

15 Apr 2021, 13:53

Nur zu Info, dieser Code Snippets ist nicht erforderlich, wenn man den absoluten Pfadnamen eingibt. Zumindest funktioniert es bei mir :)

Code: Select all

full_command_line := DllCall("GetCommandLine", "str")

if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)"))
{
    try
    {
        if A_IsCompiled
            Run *RunAs "%A_ScriptFullPath%" /restart
        else
            Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%"
    }
    ExitApp
}
Last edited by Nussbeisser on 15 Apr 2021, 14:00, edited 1 time in total.
Milchmann
Posts: 112
Joined: 05 Nov 2016, 08:50

Re: Chrome.ahk - funktioniert nach Google Chrome Update auf Version 90 nicht mehr.

20 May 2021, 09:08

Hallo @burque505 ;

da können wir doch deutsch weiterschreiben.

Ich arbeite nur mit Selenium habe da schon zig programmzeilen geschrieben. Das in Chrome.ahk zu migrieren ist mir zu aufwändig. Bei mir funktioniert weder .click() noch das auslesen von Inhalten mit .Attribute("outerHTML") richtig. Außerdem habe ich keine Adminberechtigung.

Der Start über Selenium erfolgt so:

Code: Select all

ChromeGet(IP_Port := "127.0.0.1:9222") 
{
driver := ComObjCreate("Selenium.ChromeDriver")
driver.SetCapability("debuggerAddress", IP_Port)
driver.Start()
return driver
}
PS: Das eintragen des Nutzerpfades bringt keine Lösung.

Gibt es dafür eine Lösung?

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 29 guests