I observed that when you pass WebElements into an executeScript() call, they are automatically converted into JavaScript objects of the HTML nodes they map to. Interesting trick I've found you can do this using a bit of jQuery injection is use a hybrid of jquery and seleniums electors.
jqueryFile = open("/path/to/jquery.js")
driver.executeScript(jqueryFile.read())
parent_div = driver.find_element_by_id("parentDivID")
target_element = driver.execute_script("$(argument[0]).find('li').filter(function(){return $(this).text=='some text';}).siblings('a')")
target_element.click()
I found this a pretty interesting technique for selecting complicated elements which normally would take an xpath 2.0 or css 3 expression, which would break often in IE8, but was much more reliable using jquery injection.