1. A method performed by a server computing device for evaluating a client-side script, comprising: providing an object that emulates a browser object, the provided object exposing a function for performing steps comprising: receiving a first link; and storing the received first link in a list of links to be processed; receiving a second link to be processed; loading a second document identified by the received second link; assigning the provided object to a global variable so that a script associated with the loaded second document invokes the function exposed by the provided object instead of a function with a similar name that is exposed by the emulated browser object wherein the function with the similar name exposed by the emulated browser object loads a first document referenced by the received first link upon receiving the first link; building a document object model based on the loaded second document; employing the built document object model to locate a script element in the loaded second document; executing at the server computing device a client-side script defined within the script element; detecting an attempt to change the built document object model; receiving information relating to the attempted change to the built document object model; determining whether the attempted change identifies a link; and when the attempted change identifies a link, adding the identified link to a list of links to process.