Most of the taxi element-functions will return nil if the element is missing.
Operations ex. click will return true upon completion.
"elements" return an empty vector if there are no matches.
Hopefully fixes #85
Fix for npe in taxi-api.
This is quite the pull request. Thank you!!
I'm going to take a little time to review this. The idea of #85 was not only to fix this for the Taxi API, but more importantly for the Core API on which everything else is based. I'll take a look at how this would integrate with that approach and hopefully merge this in.
Better style here would be:
(is (nil? (element missing)))
This applies to all uses of (= (nil ...)) below as well.
(= (nil ...))
As for now I will wait for more feedback from you before I push anything.
Are there anything I can do to help?
Sorry, my family and I moved recently and it's just been a stressful time getting settled down again.
I will try to get the entire null-handling in clj-webdriver fixed before the end of January. As I mentioned, it needs to be solved at the bottom-most level of the API.
I've looked at your pull request in more detail. In light of recent conversation over in Issue #85, which has to do with how Clojure core itself will be changing, I don't think this approach will quite fit. I'll keep this issue open until I close #85 in case it is applicable.
This and #85 fixed with release 0.6.0-beta3