With Excel VBA get web element if element is present, skip if not -


i'm rather new @ scrubbing web pages, getting hang of it. i've managed data webpage follwing command:

sht.range("b" & rowcount).value = .document.getelementbyid("pricelabel").getelementsbytagname("span")(3).innertext sht.range("c" & rowcount).value = .document.getelementbyid("quantityinput").value 

my challange not webpages search have these elements, , script stops run-time error 424 - object required.

i've tried on error goto command, works first incident, stops on second webpage missing elements.

that code is:

next_sku:     rowcount = rowcount + 1     sku = sht.range("a" & rowcount).value      ie     .visible = false     .navigate "http://www.staples.no/search?keywords=" & sku          while .busy or _             .readystate <> 4             doevents         loop      sht.range("b" & rowcount).value = .document.getelementbyid("pricelabel").getelementsbytagname("span")(3).innertext     sht.range("c" & rowcount).value = .document.getelementbyid("quantityinput").value     on error goto next_sku      end  loop while sht.range("a" & rowcount + 1).value <> "" 

can me code either return blank result, manual input such f.eks "does not exist" og skip ahead next command line if element noexistant. important thing script doesn't stop.

thanks :-)

i think problem code hasn't resumed first error. can't check error within error handler. adding resume statement code, vba no longer think inside error handler , code resume normal.

here's example:

on error goto next_sku    sht.range("b" & rowcount).value = .document.getelementbyid("pricelabel").getelementsbytagname("span")(3).innertext    sht.range("c" & rowcount).value = .document.getelementbyid("quantityinput").value next_sku:    'do on error resume next 

the above code leave blank result if sku not found. can add code after next_sku: label return "does not exist".

you try using on error resume next statement.


Comments