Поскольку всё в рамках одного домена/сайта, ограничения Same Origin Policy не помешают.
Каждая открываемая страница – это новое свежее выполнение скрипта. Поэтому между переходами надо как-то сохранять «состояние» — например, в куках или LocalStorage. В некоторых настройках ни одно из этих хранилищ может оказаться недоступным – например, в зашоренном Tor-браузере.
С использованием LocalStorage можно примерно так:
const KEY_STATUS = 'status'; // ключ сохраняемого параметра
const step = +localStorage.getItem(KEY_STATUS);
/*
Шаги:
0 - переход на /1
1 - заполнение и клик (видимо, в переходом на новую страницу?)
2 - переход на /2
*/
if (0 === step) {
document.location.href = "http://site.ru/1";
} else if (1 === step) {
document.getElementsByName("pw")[0].value = "test";
document.getElementsByClassName("ur")[0].click();
} else if (2 === step) {
document.location.href = "http://site.ru/2";
}
localStorage.setItem(KEY_STATUS, 1 + step);