Critical point in any outsourcing deal is that you should not throw the work to other side of wall and then hope that it will turn out good.
If you do outsource (which is perfectly fine), you need to constantly watch out the performance of your developer/tester. In your case, you need to have a requirement document against which QA person will write selenium tests. If you take care of obvious potholes of outsourcing, you will be fine. Do get in touch with me, if you want to discuss it further.
No it is not smart to outsource the writing of tests to a freelancer. The developer should be writing his own selenium tests, ideally before he writes any code. If a third-party writes the tests, how can we have any assurance that they actually spec the functionality that the product visionary had in mind?
If by "selenium tests", you actually mean acceptance tests in general the they should be written by the person who is ultimately responsible for the delivery of the software. For example, if you are paying a freelance software development shop to build software for you, you should write the acceptance tests yourself. The developers can use them as guidance that they are on the right track in terms of software functionality.