vba - Web scraping - create object for IE -
sub get_data()   set ie = createobject("internetexplorer.application") ie.visible = true ie.navigate "http://www.scramble.nl/military-database/usaf" while ie.busy     application.wait dateadd("s", 1, now) loop sendkeys "03-3114" sendkeys "{enter}"   end sub   the code below searches keyboard typed value 03-3114 , gets data in table. if 'd search value in cell a1 , scrape values table "code, type, cn, unit" in cell range ("b1:e1") should do?
you using sendkeys highly unreliable :) why not find name of textbox , search button , directly interact shown below?
sub get_data()     dim ie object, objinputs object      set ie = createobject("internetexplorer.application")     ie.visible = true     ie.navigate "http://www.scramble.nl/military-database/usaf"      while ie.readystate <> 4: doevents: loop      '~~> id of textbox want output     ie.document.getelementbyid("serial").value = "03-3114"      '~~> here try identify search button , click     set objinputs = ie.document.getelementsbytagname("input")     each ele in objinputs         if ele.name "sbm"             ele.click             exit         end if     next end sub   note: understand how got names serial , sbm, refer explanation given above image below.
the code below searches keyboard typed value 03-3114 , gets data in table. if 'd search value in cell a1 , scrape values table "code, type, cn, unit" in cell range ("b1:e1") should do?
directly put value a1 in lieu of hardcoded value
ie.document.getelementbyid("serial").value = sheets("sheet1").range("a1").value   to values table, identify elements of table right clicking on in browser , clicking on "inspect/inspect element(in chrome inspect)" shown below. 
i can give code want yourself. if still stuck update question code tried , take there.
interesting read: html parsing of cricinfo scorecards

Comments
Post a Comment