<p>I'm a Java developer and I have a question about automating a task I've been given. </p>

<p>I'm having to 3 times daily, login to this website we have at work, select a few form elements and then click on submit to get a report printed out. </p>

<p>I'm wondering how I can write some sort of script that will automate this task? Where should I start? What language should I do it in? I was thinking PHP might be able to do this or even a greasemonkey script possibly?</p>

<p>Thanks a lot. </p>

It's called "web scraping" or "screen scraping", and there are a lot of libraries out there to do this.  I couldn't speak to a Java-specific tool, though: I'm a .Net guy (the .Net way would be System.Net.WebClient or System.Net.HttpWebRequest/System.Net.HttpWebResponse).  But I'm sure there's something.
In the meantime, the first step is go to the page where you input the form values and view the source of the page.  Look for the specific <form> element you're filling out, and see where it posts to (it's
action
).  Then, find any <input> <select>, <textarea> elements you use, including any hidden inputs for the form, and figure out what values you need to get.  That will tell you how to build your request once you find a library that will let you send it.
If you need to login to the site first to get to the page, things can be more complicated.  You may need to retrieve and parse a session value or be able to send certain cookies to the server.