DaleHohm Posted October 26, 2007 Posted October 26, 2007 It's not a "button", it is an image. Use _IEImgClick Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble
Nevin Posted October 26, 2007 Author Posted October 26, 2007 I'd swear that these functions don't exist until you mention them in this topic. Then they just magically appear. They don't stand out until you mention them. Thank you. Everything should be work just dandy now. (I can't test it because the site closes down around 1am EST or so) Maybe I will be able to help out some other folks in this topic to keep the smart folks from being bogged down with dumb questions.
Nevin Posted October 29, 2007 Author Posted October 29, 2007 I'm back! I decided to rewrite all of my ControlSend functions for the form to _IE functions. It was working well until I got to a certain part of the form. Now the objects I want can't be found. $dateOfServiceFrom1 = _IEFrameGetObjByName($oFrame,"dateOfServiceFrom1") _IEFormElementSetValue($dateOfServiceFrom1,$DOS)oÝ÷ Ù«¢+ÙÉɽÉÌè(´´ØÈì%¹ÔÌ]ɹ¥¹É½´Õ¹Ñ¥½¸}%ɵÑ=© å9µ°ÀÌØí}%MÑÑÕÍ}9½5Ñ ¡9¼ÉµÌ½Õ¹¤(´´ØÈì%¹ÔÌÉɽÈɽ´Õ¹Ñ¥½¸}%½Éµ±µ¹ÑMÑY±Õ°ÀÌØí}%MÑÑÕÍ}%¹Ù±¥ÑQåÁíÁÉÍÕµ±äÕÍÑ¡½©Ð½Í¸ÌäíÐá¥Íаͼѡ¥Ì½¹Áɽ±ä¥Í¸ÌäíÐ¥µÁ½ÉѹРThe rest of the form boxes work fine, so I'm guessing something is special about these ones. I don't know what it is. I do know this (if it matters). All of the other boxes are always there, but these lines are different. There are 7 by default, but you can add to them. You enter an amount to add, click the add button, then the form reloads with your previous information PLUS the amount of extra lines you specified. I don't know if that helps any. Each columns boxes have numbered names, ex. "charges1", "charges2", etc.. The above is dateOfServiceFrom1, as you can see. Here's the HTML <INPUT maxLength=10 onchange=document.theForm.dateOfServiceTo1.value=this.value size=15 name=dateOfServiceFrom1> Here's the code for some that were working earlier: <INPUT maxLength=1 size=1 name=employment> <INPUT id=diagPrim maxLength=6 size=6 name=diagnosis1> <INPUT maxLength=2 size=1 name=serviceLineNum> Hmm. Maybe it's the "onchange" tag? Any help is appreciated.
DaleHohm Posted October 29, 2007 Posted October 29, 2007 I'm betting you want _IEFormGetObjByName instead of _IEFrameGetObjByName Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble
Nevin Posted October 29, 2007 Author Posted October 29, 2007 Now (with the function you mentioned) I get --> IE.au3 V2.3-1 Warning from function _IEFormGetObjByName, $_IEStatus_NoMatch If I run this example to find the number of forms: $oForms = _IEFormGetCollection ($oIE) MsgBox(0, "Forms Info", "There are " & @extended & " forms on this page") For $oForm In $oForms MsgBox(0, "Form Info", $oForm.name) Next It returns 0 forms on this page. These boxes that don't work are in the same source as the rest of the boxes that work. Even in the same "Form" according to Debugbar. I tried to grab the code straight from the source, it looks a little different than what Debugbar had, but it's also a bit confusing because whatever you type into this box automatically goes into the box next to it. <td valign="top" nowrap><input onchange="document.theForm.dateOfServiceTo1.value=this.value" size=15 maxlength=10 name="dateOfServiceFrom1" value=""> - <input size=15 maxlength=10 name="dateOfServiceTo1" value=""></td> I'm not sure if I copied it right, plus I included the adjacent line. Here's a simpler one that doesn't work: <td valign="top" nowrap><input size=9 maxlength=9 name="charges1" value=""></td>
Nevin Posted October 30, 2007 Author Posted October 30, 2007 Bump.D-A-L-E-H-O-H-M Dale can do it, he's the man! If he can't do it, no one can! Goooo Dale!
Blue_Drache Posted October 30, 2007 Posted October 30, 2007 (edited) [offtopic] Question, Nevin: Do you work for a medical insurance company, or a medical service provider of some sort? Because AutoIt can definately drive you to seek some 90806 because of: 296.82 [/offtopic] Looks like the CMS-1500 is giving you fits. Are you using _IEFormElementGetCollectioN() for the items in the form, or are you just trying to get the forms? Perhaps staring at some of the code that I used to get our system to interface will help? $oIE_CRU = _IEAttach($hwndCRU, "HWND") ; attach to the CRU process If @error Then DBP('Unable to locate IE Window named "FSU Detail"', 5000, 1) Exit 5000 EndIf $oCRUForm = _IEFormGetObjByName($oIE_CRU, "FSUForm") ; attach to the form inside the window If @error Then DBP($version, "Unable to locate FSUForm.", 6000, $i_debug) CrashRun($oIE_CRU, $i_debug) Exit 6000 EndIf $o_fCRUSearchValue = _IEFormElementGetObjByName($oCRUForm, "searchField") ; attach to the form element Search Form. If @error Then DBP($version, "Unable to locate Search Form control.", 6005, $i_debug) CrashRun($oIE_CRU, $i_debug) Exit 6005 EndIf _IEFormElementOptionselect($o_fCRUSearchValue, "Record ID Equal To", 1, "byText") ; set the combobox option. If @error Then DBP($version, "Error setting Serch Field style.", 6006, $i_debug) CrashRun($oIE_CRU, $i_debug) Exit 6006 EndIf Edited October 30, 2007 by Blue_Drache Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache
Nevin Posted October 30, 2007 Author Posted October 30, 2007 (edited) [offtopic] Question, Nevin: Do you work for a medical insurance company, or a medical service provider of some sort? Because AutoIt can definately drive you to seek some 90806 because of: 296.82 [/offtopic] Looks like the CMS-1500 is giving you fits. Are you using _IEFormElementGetCollectioN() for the items in the form, or are you just trying to get the forms? Perhaps staring at some of the code that I used to get our system to interface will help? $oIE_CRU = _IEAttach($hwndCRU, "HWND") ; attach to the CRU process If @error Then DBP('Unable to locate IE Window named "FSU Detail"', 5000, 1) Exit 5000 EndIf $oCRUForm = _IEFormGetObjByName($oIE_CRU, "FSUForm") ; attach to the form inside the window If @error Then DBP($version, "Unable to locate FSUForm.", 6000, $i_debug) CrashRun($oIE_CRU, $i_debug) Exit 6000 EndIf $o_fCRUSearchValue = _IEFormElementGetObjByName($oCRUForm, "searchField") ; attach to the form element Search Form. If @error Then DBP($version, "Unable to locate Search Form control.", 6005, $i_debug) CrashRun($oIE_CRU, $i_debug) Exit 6005 EndIf _IEFormElementOptionselect($o_fCRUSearchValue, "Record ID Equal To", 1, "byText") ; set the combobox option. If @error Then DBP($version, "Error setting Serch Field style.", 6006, $i_debug) CrashRun($oIE_CRU, $i_debug) Exit 6006 EndIf Haha, indeed. It's Empire Blue's CMS-1500 thing. Oh snap, I just noticed that I used Formgetcollection for the wrong object... There is actually one form in the frame: theForm Maybe I should..try and do something with that... I think you may have gotten it for me, juts by making me read over my crap lol. Thanks Do you work in the field too? I don't even know what that CMS crap is...I just remembered seeing it on the bottom of the forms we print out. Also, when I finish writing this software, I plan to try and sell it to my company. Anyone know about what I should charge? :-/ It will do 90% of the typing for about 90% of our patients. It gets claims done four times faster than the average person. $500? $1500? $A Ferrari? Edit: fixed form name Edited October 30, 2007 by Nevin
Blue_Drache Posted October 30, 2007 Posted October 30, 2007 I work for HCSC. (Blue Cross Blue Shield of Illinois, Texas, New Mexico, and Oklahoma). I wouldn't sell it to them. They'll pay you far less than what you'd deserve for it. I've saved our company on the order of hundreds of thousands of dollars in labour costs alone and have only been given a pat on the back.... so I've given up trying. I do what I do to make myself look good and keep ahead of the curve. Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache
Nevin Posted October 30, 2007 Author Posted October 30, 2007 I fixed it. Thanks It WAS a form element, I didnt realize you had to do a getobj for the form, then get a getobj for the form element. This works $oIE = _IEAttach("Provider") $oFrame = _IEFrameGetObjByName ($oIE, "Main") $oForm = _IEFormGetObjByName($oFrame,"theForm") $oValue = _IeFormelementgetobjbyname($oForm,"dateOfServiceFrom1") _IEFormElementSetValue($oValue,"test") As for the pricing thing..Well I don't work for Empire. I work for a provider. I log into empireblue site under providers, put in all the patients crap, and submit it. I use this program to get it done faster, but then I don't tell them. It's obviously faster than a human can do it, so I usually tell them I was working longer than I was. However, I intend to leave in December, so I figured I'd sell the software off, that's why I made it into a GUI prog, and wanted to add all these "foolproof" things, like using _IESetvalues instead of Send(). This company is pretty small, I really hope I can make some money off the damn thing :-/
Blue_Drache Posted October 30, 2007 Posted October 30, 2007 (edited) fixed it. Thanks It WAS a form element, I didnt realize you had to do a getobj for the form, then get a getobj for the form element.Yeah, it's like stair-stepping into whatever you're doing with webpages. (You should see some of the funky loops I've come up with to find member names and birthdates in some of the sites. )Anyway....if you really want to blow their socks off, ask for a list of stuff in spreadsheet format from Excel and then build a bridge in AutoIt (Or visual basic, either one works) between Excel and the Webpage. Edited October 30, 2007 by Blue_Drache Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache
Nevin Posted October 30, 2007 Author Posted October 30, 2007 (edited) Heh, I wish. That's why it only does 90% It doesn't enter BC/BS ID and DOB to pull up the patient, create the claim, or enter our personal ID#. It also doesn't review/submit the claim, in case something is wrong. If they redid the system to work with me, I probably could automate the whole thing, but the guys who work our database are a bunch of monkeys. We use scantrons for something in our system, and the guys use Powerbuilder (never heard of it) to create a form from what is bubbled in on the scantron. I asked the guy to change "Inflamed Mucosa" into "Inflamed mucosa" about 5 months ago. Still hasn't done it. I have zero experience with the program, but I'm sure he's just got to edit one string lol. They are pretty computer ignorant here. :-/ Edited October 30, 2007 by Nevin
Blue_Drache Posted October 31, 2007 Posted October 31, 2007 Remember, computer programmers are inherently lazy. That's why we do what we do. So we can spend more time goofing off. Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache
Nevin Posted October 31, 2007 Author Posted October 31, 2007 True that. That's why I want to go into networking. 1. Go to work 2. Make sure everything works. 3. Go home, "See you next week!" I have to say, this thread was definitely an experience. If I just had to use a normal webpage, I probably would have been fine, but my first _IE* experience ended up being a form inside of a frame with funky image buttons and who knows what else. My next project is checking checkboxes that seem to have weird names. But I'll figure it out. Then I'll get it all done, and they won't pay me, hahahaha.
Blue_Drache Posted October 31, 2007 Posted October 31, 2007 Each web page will present its own, unique brand of challenges. What's really sad, is...if you wanted, you could code it up to harvest all the information and auto-submit every (insert maximum time units they expect it takes to get a claim done) ... and go play Nintendo. Without admitting guilt, I'm not saying it can't be done... ...but you tend to get some odd looks from passersby in the office who actually have to work. Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache
Nevin Posted October 31, 2007 Author Posted October 31, 2007 Haha. I would totally do that if this was going to be my career. Actually, they used to let me take them home. If they still let me do that, I would write it to auto-submit. Now, even though I'm by far the fastest claim submitter, they give the work to other people. My job is ass-backwards. That's why I want to get out of there.
Blue_Drache Posted October 31, 2007 Posted October 31, 2007 *shakes head* Welcome to my world. I know for a fact that I could write a 10,000 line program in a mixture of VB and AutoItX and replace 50% of our entry-level personell with 100% claims accuracy, and any problems either auto-solved or routed to the *CORRECT* support level, and keep a log of what it did...and have our inventory cut in half in three days after it goes online. But ... why? So I can get a pat on the back? So I can get a $100 chump check while they save millions? Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now