I'm trying to script commands to a command line for a text-based MUD that runs in a firefox window. I can get text to appear in the text box, but I can't get it to submit. It's weird because I'm able to get text to submit when I insert _FFFormSubmit in the _FFObj documented example.
I'm getting this error:
Here is my code:
Here is my source code (The code for the text box is a few lines up from the bottom):
Alternatively, if I can somehow use the _FFObj function to submit keys like {ENTER}, that would solve my problem, but I don't know how to do that either ... I see older versions of FF.au3 had a DispatchKeyEvent function that might help me, but it's no longer available. I opened FF and I noticed one hopeful thing: It seems that _FFCmd can do key events. Anyone with more knowledge than me want to take a guess at how to setup the parameters to simulate an ENTER keystroke?
I'm getting this error:
[ autoit ]
Here is my code:
[ autoit ]
Here is my source code (The code for the text box is a few lines up from the bottom):
<?xml version="1.0"?> <window id="main-window" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" onload="onMainLoad();" onunload="onunload();" style="width:760px; height:480px;" orient="vertical" persist="width height" windowtype="skotos:zealotry"> <script type="application/x-javascript" src="chrome://zealotry/content/browser-compat.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/my-world.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/init.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/jslib.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/filesystem.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/file.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/utils.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/md5.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/connection-xpcom.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/network.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/client.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/macro.js"/> <script type="application/x-javascript" src="chrome://zealotry/content/zealotry.js"/> <hbox style="-moz-box-flex: 1"> <iframe name="left-frame" id="left-frame" type="content" style="-moz-box-flex: 0; width: 145px; height: 100%; overflow: hidden" src="about:blank"/> <keyset> <key id="dict-key" keycode="VK_F2" oncommand="helpMenuInit('dictionary');"/> </keyset> <vbox style="-moz-box-flex: 1"> <toolbox> <menubar id="sample-menubar"> <menu id="file-menu" label="File" accesskey="F"> <menupopup id="file-popup" onpopupshowing="fileMenuInit();"> <menuitem id="menuitem_logging" type="checkbox" accesskey="L" label="Logging..." oncommand="onToggleLogging(event);"/> <menuitem id="menuitem_autolog" type="checkbox" accesskey="A" label="AutoLog..." oncommand="onToggleAutoLog(event);"/> <menuseparator/> <menuitem label="Exit" oncommand="window.close();" keycode="VK_F4"/> </menupopup> </menu> <menu id="edit-menu" label="Edit" accesskey="E"> <menupopup id="edit-popup" onpopupshowing="editMenuInit();"> <menuitem id="menuitem_copy" label="Copy" oncommand="oncopy();" accesskey="C"/> <menuitem id="menuitem_paste" label="Paste" oncommand="onpaste();" accesskey="P"/> <!-- menuseparator/> <menuitem label="Load Macros" accesskey="O" oncommand="window.myMacros.processMacroCommand('LOAD');"/> <menuitem label="Save Macros" accesskey="A" oncommand="window.myMacros.processMacroCommand('STORE');"/> <menuseparator/> <menuitem label="Load Config" accesskey="L" oncommand="readConfigurationFile('menu');"/> <menuitem label="Save Config" accesskey="S" oncommand="writeConfigurationFile();"/ --> </menupopup> </menu> <menu id="font-and-size" label="Options" accesskey="O"> <menupopup id="fonts-and-sizes-menu" onpopupshowing="optionMenuInit();"> <menuitem label="Preferences" oncommand="doPrefs();"/> </menupopup> </menu> <menu id="help" label="Help" accesskey="H"> <menupopup id="help-popup"> <menuitem label="Help Contents" oncommand="helpMenuInit('content');" accesskey="H"/> <menuitem label="Changelog Notes" oncommand="helpMenuInit('changelog');" accesskey="C"/> <menuitem label="Whats New?" oncommand="helpMenuInit('new');" accesskey="N"/> <menuseparator/> <menuitem label="About Zealotry" oncommand="helpMenuInit('about');" accesskey="A"/> </menupopup> </menu> </menubar> </toolbox> <!-- iframe name="scrollback" id="scrollback" type="content" style="min-height: 70%; max-height: 70%" src="about:blank"/> <splitter id="scroll_splitter" state="collapsed" collapse="before"> <grippy/> </splitter --> <iframe name="center-frame" id="center-frame" type="content" flex="1" src="about:blank"/> <splitter state="open" collapse="before"/> <textbox spellcheck="true" autostretch="true" style="margin: 0; padding: 0" onkeypress="onInput();" rows="2" multiline="true" id="input"/> </vbox> <iframe name="right-frame" id="right-frame" type="content" style="-moz-box-flex: 0; width: 145px; height: 100%; overflow: hidden" src="about:blank"/> </hbox> </window>
Alternatively, if I can somehow use the _FFObj function to submit keys like {ENTER}, that would solve my problem, but I don't know how to do that either ... I see older versions of FF.au3 had a DispatchKeyEvent function that might help me, but it's no longer available. I opened FF and I noticed one hopeful thing:
[ autoit ]
_FFCmd('FFau3.simulateEvent=function simulateEvent(a,b,c){try{var d=document.createEvent(b);switch(b){case"MouseEvents":d.initMouseEvent(c,true,true,window,0,0,0,simulateEvent.arguments[4],simulateEvent.arguments[5],false,false,false,false,0,null);break;case"KeyboardEvent":d.initKeyEvent(c,true,true,null,false,false,false,false,simulateEvent.arguments[3],0);break;case"Event":d.initEvent(c,true,true);break}a.dispatchEvent(d);return 1}catch(e){return-3}return 0};')