I'm working on a program that automatically fills forms out on a website for work. It uses the tab key to navigate the page to the different fields. However I do not know how to make it pause for the browser to load the page other than hardcoding some time into it. Is there a way to determine when the browser has finished loading a page in java? For example if the program fills out a page and needs to navigate to the next page, I would like it to wait until the browser is finished loading the next page before continuing to populate fields without having to use some set time. This is important because some page navigations are variable and take up to a few minutes. Also if some fields do not fit the specifications of the website then a message will pop up informing the user that the data entered into the fields is invalid. Is there a way to set some sort of listener for if this happens? I would like to make the program pause and wait for user input when this happens. I just do not know how to determing when this occurs.