My understanding is the S::R::D::find_element() throws an exception when the element is not found. Consequently the methods T::S::R:D::find_element_ok() and T::S::R::D::find_no_element_ok() throw an exception when the assertion is not valid.
For Selenium::Remote::Driver there is the workaround to use the methods like 'find_element_by_()' if one does not want the exception. Would it make sense to add testing methode find_element_ok_by_*()and 'find_no_element_by_()' for Test::Selenium::Remote::Driver ? This approach should be gently on existing code.