I have been using selenium webdriver for a while and in the past, I happened to always run the code on the same machine with the browser. For example, I tested the code on my mac.. and I can see the browser on my mac… then I copied the code to a server, set up firefox on the server and run the code there… Today, I was diving into the nuts-and-bolts of Selenium Grid and I had a much better understanding of Selenium Server. Selenium server is basically a selenium instance running on a box which will listen to the requests from a certain port, it could be local requests or external ones.
Here is a screen shot of a Selenium server running on AWS machine and also a Python script running on my local which makes request to the AWS selenium server.