2017-08-23 7 views
-1

J'écris un script AutoHotkey pour entrer des données dans une application Oracle PeopleSoft. Plutôt que d'essayer de localiser des éléments spécifiques sur la page, je veux essayer d'exécuter des commandes JavaScript directement.Comment puis-je exécuter des méthodes Javascript avec AutoHotkey?

Ainsi, au lieu d'utiliser un MouseClick, left, 205, 281 hardcoded cliquer sur le bouton « ajouter de nouvelles valeurs », je veux courir directement submitAction_win0(document.win0,'#ICSwitchMode')

J'ai essayé d'entrer des commandes directement dans la barre d'adresse, mais cela ne semble pas avoir un effet.

#k:: 
    jsCommand = javascript:submitAction_win0(document.win0,'#ICSwitchMode'); 
    Send, !d     ; places cursor in URL field 
    Send, %jsCommand%{Enter} ; submit JS command (doesn't work) 
Return 

According to this AHK thread, il devrait être possible d'y parvenir en utilisant un objet ScriptControl, mais je suis un peu incertain comment les utiliser.

Comment puis-je exécuter des commandes JavaScript en utilisant AutoHotkey?

+0

Vous ne serez en mesure d'appeler des méthodes qui sont disponibles de cette façon dans le monde. –

+0

Qu'est-ce qui apparaît dans la console JS? –

+0

@Derek SC 會 功夫 'SCRIPT5007: La valeur de la propriété 'submitAction_win0' est nulle ou indéfinie, pas un objet Fonction' ZZ_KRONOS.ZZ_KRONELIG_DPT.GBL, ligne 1 caractère 1 –

Répondre

0

Par exemple je dans une question de answer précédente pour contrôler IE, marche DOM, etc:

F3:: 
wb := ComObjCreate("InternetExplorer.Application") ; Create a IE instance 
wb.Visible := True 
wb.Navigate("http://google.com") 
Sleep, 5000 
SendInput, This is test.{Enter} 
Sleep, 5000 
wb.document.getElementById("lst-ib").value := "This is another test." 
wb.document.getElementById("_fZl").click() 
return