Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: Search Craigslist IE 9 10 Click Method HTMLEvents InitEvent Event Button Push
;*************************************************************************** ;** ;** Search Craigslist for an item. ;** ;** Purpose: locate and display craigslist result in IE browser ;** Inputs: starting url, query settings ;** Outputs: displays results in IE browser ;** TO DO: Optionally add code to stor the results of to a file ;** ;** Revisions: 2013.10.11 Deana Falk ;** Initial release ;** ;** 2014.03.10 Deana Falk ;** Fix for changes to Craigslist's HTML elements ;** Modified code to search for inputs by name ;** ;** 2014.07.30 Deana Falk ;** References the form by name instead of index 0. ;** Added a UDF to wait for the page to load completely. ;** Add a UDF to handle the button click regardless which version ;*** of IE is being used. ;*************************************************************************** ;>search for: ;in:<select id="cAbb" name="catAbbreviation"> ;<option value="ccc">all community<option value="eee">all event<option value="sss">all for sale / wanted<option disabled value="">--<option value="art"> art & crafts ;<option value="pts"> auto parts ;<option value="bab"> baby & kid stuff ;<option value="bar"> barter ;<option value="bik"> bicycles ;<option value="boa"> boats ;<option value="bks"> books ;<option value="bfs"> business ;<option value="car"> cars & trucks ;<option value="emd"> cds / dvds / vhs ;<option value="clo"> clothing ;<option value="clt"> collectibles ;<option value="sys"> computers & tech ;<option value="ele"> electronics ;<option value="grd"> farm & garden ;<option value="zip"> free stuff ;<option value="fur"> furniture ;<option value="tag"> games & toys ;<option value="gms"> garage sales ;<option value="for"> general ;<option value="hsh"> household ;<option value="wan"> items wanted ;<option value="jwl"> jewelry ;<option value="mat"> materials ;<option value="mcy" selected> motorcycles/scooters ;<option value="msg"> musical instruments ;<option value="pho"> photo/video ;<option value="rvs"> recreational vehicles ;<option value="spo"> sporting goods ;<option value="tix"> tickets ;<option value="tls"> tools ;<option disabled value=""> ;<option value="ggg">all gigs ;<option value="hhh">all housing ;<option value="jjj">all jobs ;<option value="ppp">all personals ;<option value="res">all resume ;<option value="bbb">all services offered</select> #DefineFunction udfIEPageLoadWait( objIE ) ; Wait for webpage to load While !(objIE.readyState == 'complete' || objIE.readyState == 4 ) TimeDelay(0.1) EndWhile While !(objIE.document.readyState == 'complete' || objIE.document.readyState == 4 ) TimeDelay(0.1) EndWhile Return 1 #EndFunction #DefineFunction udfIEClick( objIE, objElement ) objEvent = objIE.document.createEvent( "HTMLEvents" ) If objEvent == "" Then objElement.Click() Else objEvent.initEvent("click", @TRUE, @TRUE) objElement.dispatchEvent(objEvent) EndIf Return 1 #EndFunction Browser = ObjectCreate("InternetExplorer.Application") browser.visible = @TRUE ;url = 'http://seattle.craigslist.org/mcy/' ;Motorcycle ;url = 'http://seattle.craigslist.org/spo/' ;Sporting goods url = 'http://seattle.craigslist.org/sss/' query = "WinBatch Rocks" browser.navigate(url) udfIEPageLoadWait(browser) doc = browser.document ;By Number ;form = doc.forms.Item(0) ;By Name form = doc.forms.Item('searchform') ;By Number ;form.GetElementsByTagName("INPUT").Item(x).Value = query ;By Name count = form.GetElementsByTagName("INPUT").length For x = 0 To count objInput = form.GetElementsByTagName("INPUT").Item(x) If objInput == 0 Then Continue name = objInput.Name id = objInput.Id ;Pause(objInput.ID,name) If name == "query" Then form.GetElementsByTagName("INPUT").Item(x).Value = query If name == "minAsk" Then form.GetElementsByTagName("INPUT").Item(x).Value = "1" If name == "maxAsk" Then form.GetElementsByTagName("INPUT").Item(x).Value = "500" If name == "hasPic" Then form.GetElementsByTagName("INPUT").Item(x).checked = @TRUE If id == "searchbtn" Then objBtn = objInput Next If IsDefined(objBtn) ; Unfortunately .Click method doesn't work on IE 9 or newer. ; However this method seems to work: ; Reference: http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+WinBatch/OLE~COM~ADO~CDO~ADSI~LDAP/OLE~with~MSIE+IE9~Click~or~Focus~Methods~Fail.txt udfIEClick( browser, objBtn ) Else Pause('Notice','No search button found') EndIf While browser.readystate <> 4 TimeDelay(0.5) EndWhile Exit
Article ID: W18145
Filename: Search Craigslist.txt
File Created: 2014:07:30:13:10:06
Last Updated: 2014:07:30:13:10:06