Cookie mit AHK umschreiben ...?

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

just me
Posts: 9783
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Cookie mit AHK umschreiben ...?

01 Dec 2017, 03:50

Moin,
Den NMH habe ich erstmal vom APPDATA-pfad verchoben, da dieser ein system-pfad zu sein scheint ...
Zumindest könnte er Probleme bereiten, weil er auf ein Verzeichnis verweist, das dem angemeldeten Benutzer zugeordnet ist. Man bräuchte dann eine eigene 'Installation' pro Benutzer. Vielleicht wäre A_AppDataCommon (hier: C:\ProgramData) ein besserer Installationsordner. Man muss allerdings auch dann die beschriebenen Anpassungen machen und darf sich dabei keinen Fehler erlauben.
Bei der fenstererkennung, einer vorbedingung zur javascript evaluation, bekomme ich keinen echten namen gegriffen, sondern es werden hex-werte retourniert.
Wenn Du damit die Rückgabe von Chrome_WinExists() meinst, ist das ok. Sie liefert das Handle des gefundenen Fensters als Hex-Wert, ansonsten 0.

Du solltest in Chrome_Eval() einfach ein paar MsgBoxen einbauen, um zu prüfen, wie weit das kommt. Dazu muss allerdings die Variable Chrome_NativeMessagingHostDir auf den korrekten (geänderten) Pfad zeigen. Auch ohne NMH sollten dann in diesem Ordner die Input.txt Dateien entstehen. Dabei mag es noch ein kleines Problem geben, weil AutoIt zumindest in der aktuellen Version UTF-8-RAW Dateien schreibt. Das kann aber angepasst werden.

Edit: Da habe ich wohl zulange gebraucht! Glückwunsch!
Das Problem mit {"text":"AutoHotkey Community - Index page"} wurde schon im AutoIt Beitrag erwähnt. Die FunktionChrome_DocWaitForExistenceByTitle() kann so nur funktionieren, wenn man im Title Parameter ebenfalls den kompletten JSON Ausdruck übergibt.
BoBo
Posts: 6563
Joined: 13 May 2014, 17:15

Re: Cookie mit AHK umschreiben ...?

01 Dec 2017, 06:54

- Breaking News -

Bei anwendung des (aus AU3 übersetzten) scripts "chrome_example_2.ahk" gegen die lokale testpage "chrome_udf_example_2.html" (von hier)
konnte ich sinnvolle rückmeldungen provozieren. Ich habe die mal zur sichtung (und zum vergleich mit der verlinkten testpage) für JS-kundige mitgeschnitten ...

Code: Select all

{die rückmeldungen des browsers}  ; die beschreibung von Sean zum funktionsaufruf.

{"text":"post"}         ; Get the "method" attribute of the "ExampleForm" form element
{"text":"secret value"} ; Get the "value" attribute of the "hiddenExample" hidden input element
{"text":"ERYPATUIMM"}   ; Set the "value" attribute of the "textExample" text input element to a random string
{"text":"ERYPATUIMM"}   ; Get the "value" attribute of the "textExample" text input element
{"text":"NWOVNSMRWL"}   ; Set the "value" attribute of the "passwordExample" password input element to a random string
{"text":"NWOVNSMRWL"}   ; Get the "value" attribute of the "passwordExample" password input element
{"text":"file"}         ; Get the "type" attribute of the "fileExample" file input element

{"text":"http://www.autoitscript.com/images/autoit_6_240x100.jpg"}   ; Get the "src" attribute of the "imageExample" image input element
{"text":"Form Submitted!<br>"}                                       ; Get the "innerHTML" attribute of the "messages" DIV element (updated from the "imageExample" click above)

{"text":"EGGUHJYPAT"}   ; Get the "innerHTML" attribute of the "messages" DIV element (updated from the "imageExample"-click above)
{"text":"EGGUHJYPAT"}   ; Set the "value" attribute of the "textareaExample" textarea input element to a random string
{"text":"false"}        ; Get the "value" attribute of the "textareaExample" textarea input element
{"text":"true"}         ; Get the "checked" attribute of the first "checkboxG1Example" checkbox input element
{"text":"1"}            ; Get the selected value of the "selectExample" select element
{"text":"1"}            ; Get the selected value of the "multipleSelectExample" select element

{"text":"Form Submitted!<br>Form Submitted!<br>"}   ; Get the "innerHTML" attribute of the "messages" DIV element (updated from the "submitExample"-click above)
Das testscript chrome_example.ahk zum beackern der online-testpage :arrow: [hier] lief bis zum "submitten" soweit zufriedenstellend. Allerdings ergab es sich, nach anschließenden manuellem test, das der server nach eingabe aller daten jegliche anfragen mit einem serverfehler (500) quittiert. Somit ließ sich a) nicht testen ob die vom script gesteuerte nachfolgende 'innerhtml'-auswertung funktioniert hätte, und b) ob die vermeintlich fehlgeschlagene anwahl von radio-button und checkbox nur visuell, oder tatsächlich gescheitert waren.

Meh :(

Ergo, hinweise zu einer anderweitigen online-testpage zum befüttern/auswerten werden gerne genommen :)
just me
Posts: 9783
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Cookie mit AHK umschreiben ...?

01 Dec 2017, 10:27

Die 'december.com' Testseite liefert auch dann einen '500 Server Error', wenn ich sie händisch bediene. Außerdem funktioniert - wie gesagt - Chrome_DocWaitForExistenceByTitle() nicht, wenn man nicht den kompletten von Chrome_DocGetTitle() zurückgegebenen String als Title übergibt. Mehr kann ich nicht beitragen.
BoBo
Posts: 6563
Joined: 13 May 2014, 17:15

Re: Cookie mit AHK umschreiben ...?

01 Dec 2017, 12:08

just me wrote:Die 'december.com' Testseite liefert auch dann einen '500 Server Error', wenn ich sie händisch bediene. Außerdem funktioniert - wie gesagt - Chrome_DocWaitForExistenceByTitle() nicht, wenn man nicht den kompletten von Chrome_DocGetTitle() zurückgegebenen String als Title übergibt. Mehr kann ich nicht beitragen.
Da habe ich derzeit wenig(er) bedenken, da sich der titel doch ziemlich sklavisch AKA statisch zusammensetzt und schon vor dem abgleich via Chrome_DocWaitForExistenceByTitle() in Chrome_DocGetTitle() zurechtgestutzt werden könnte (?)

Vom NMH retourniert: {"text":"HTML Form Example"}

... was ich, mangels RegEx-know how gerade mal mit StrSplit() gegen die Anführungszeichen gemacht habe. UN FUNZT!
Die seiten laufen zügig durch, und alle (?) elemente werden erfolgreich angetriggert :mrgreen:

SIEG (sort of) :superhappy:
just me
Posts: 9783
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Cookie mit AHK umschreiben ...?

01 Dec 2017, 12:41

Ein Korrekturvorschlag wurde bereits im Jahr 2013 für AutoIt gemacht, vom Autor aber nicht in die Downloadversion von Chrome.au3 übernommen.

Das Skript sendet kein JSON-Format an den NMH, bekommt vom NMH aber JSON geliefert. Wenn man das dann mit Werten aus dem Skript vergleichen will, muss man sich jedesmal ganz genau anschauen, was wie zurückgegeben wird.
BoBo
Posts: 6563
Joined: 13 May 2014, 17:15

Re: Cookie mit AHK umschreiben ...?

01 Dec 2017, 12:48

just me wrote:Ein Korrekturvorschlag wurde bereits im Jahr 2013 für AutoIt gemacht, vom Autor aber nicht in die Downloadversion von Chrome.au3 übernommen.

Das Skript sendet kein JSON-Format an den NMH, bekommt vom NMH aber JSON geliefert. Wenn man das dann mit Werten aus dem Skript vergleichen will, muss man sich jedesmal ganz genau anschauen, was wie zurückgegeben wird.
... was es ja interessant machen dürfte einen NMH selbst zu stricken welcher auf die zwtl geänderten gegebenheiten angepasst, und zugänglich ist.
Haben wir keine begnadet gelangweilten C++er in unseren reihen :?:

Übrigens habe ich genau den im AU3 thread angedachten fix versucht in einen abgleich einzufrickeln. Vergeblich, da AHK sich konstant an 'verwaisten' doppelpunkten, anführungszeichen und/oder gelockten klammern verschluckt :lolno:

PS. da ja bei solchen "wiederbelebungsversuchen" generell mitschwingt "ein totes pferd reiten zu wollen" - :arrow: [hier] etwas zum NMH für Microsoft Edge (mit vergleichen zu Chrome). Das thema bleibt uns also erhalten ;)
PPS. Ich hab mal zu Sean Griffin recherchiert, und denke ich werd ihn mal demnächst bzgl des AU3 NMH sourcecodes anschreiben.
BoBo
Posts: 6563
Joined: 13 May 2014, 17:15

Re: Cookie mit AHK umschreiben ...?

01 Dec 2017, 16:40

@ nnnik
Zu deiner nachfrage nach einer Python NMH source (full package attached) ...
Spoiler

erm, ... falls da ein open source AHK NMH draus würde <sabbernder>-smiley :)



https://devhub.io/repos/eladkarako-Chro ... PI-Example
Attachments
Chromium-Native-Messaging-API-Example-master.zip
(10.25 KiB) Downloaded 82 times
just me
Posts: 9783
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Cookie mit AHK umschreiben ...?

01 Dec 2017, 17:11

BoBo wrote:Übrigens habe ich genau den im AU3 thread angedachten fix versucht in einen abgleich einzufrickeln. Vergeblich, da AHK sich konstant an 'verwaisten' doppelpunkten, anführungszeichen und/oder gelockten klammern verschluckt :lolno:
Das machen wir morgen..
BoBo wrote:PS. da ja bei solchen "wiederbelebungsversuchen" generell mitschwingt "ein totes pferd reiten zu wollen" - :arrow: [hier] etwas zum NMH für Microsoft Edge (mit vergleichen zu Chrome). Das thema bleibt uns also erhalten ;)
Zur Zeit nutze ich weder Chrome noch Edge. Sollte ich mich aber entschließen, meinen Browser zu wechseln, dann wäre es wohl eher Edge. Microsoft hat ja immer noch andere Einkommensquellen.

Das tote Pferd ist übrigens AHKv2.
just me
Posts: 9783
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Cookie mit AHK umschreiben ...?

02 Dec 2017, 07:54

Moin BoBo,

das ist tatsächlich interessant und natürlich wieder einmal von querty12. Vielleicht kannst Du den ja bewegen, sich das AutoIt-SKript mal anzuschauen. Wenn er es macht, wird das mit Sicherheit die schnellste Lösung.

Und bis dahin noch zum Thema JSON-Rückgaben:

Code: Select all

Test = {"text":"secret value"}
MsgBox, % Test . "`n" . RegExReplace(Test, "`a)^\Q{""text"":""\E(.*)\Q""}\E$", "$1")
sollte bei Bedarf tun.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 16 guests