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