Si la página no es tuya, en principio no puedes hacer nada con javascript. Esto tiene muchos matices.
Puedes hacer HTMLi XSS o SQLi. Crear una extensión para el navegador(es esto lo que quieres?) O un bot con node.js.
Para la extensión puedes usar la api webextensions de mozilla. Para modificar el contenido del sitio, puedes comprobar la url de la tab para saber que estás en el sitio indicado, obtener la web en un <iframe> y modificarla a tu gusto antes de mostrársela al usuario que está utilizando la extensión.
Si lo que buscas es validar TÚ página puedes hacerlo de muchas formas en front-end. Aquí parte de una página que estoy haciendo como reto de ciberseguridad.
<html>
<head>
(SCRIPT)
var username ="";
var userpassword ="";
var username_size = 0;
var userpassword_size = 0;
var username_parsed = "";
var userpassword_parsed = "";
(/SCRIPT)
</head>
<body>
<form action="#">
<label>User:</label>
<input type="text" id="username" name="user" placeholder="USER" style="width:200px">
<label>Password:</label>
<input type="text" id="userpassword" name="password" placeholder="PASSWORD" style="width:200px">
<input type="submit" value="Submit" onclick="ObtenerInput();">
</form>
(SCRIPT)
function ObtenerInput()
{
username = document.getElementById("username");
userpassword = document.getElementById("userpassword");
username = username.value;
userpassword = userpassword.value;
alert("Obtenido Usuario " + username);
Parsear();
}
function Parsear()
{
alert ("Iniciada funcion de parseo");
username_size = username.length;
userpassword_size = username.length;
for(var i = 0; i < username_size; ++i)
{
alert ("Vuelta numero " + i + " de parseo");
if (username[i] == "a" || username[i] == "b" || username[i] == "c" || username[i] == "d" || username[i] == "e" || username[i] == "f" || username[i] == "g" || username[i] == "h" || username[i] == "i" || username[i] == "j" || username[i] == "k" || username[i] == "l" || username[i] == "m" || username[i] == "n" || username[i] == "ñ" || username[i] == "o" || username[i] == "p" || username[i] == "q" || username[i] == "r" || username[i] == "s" || username[i] == "t" || username[i] == "u" || username[i] == "v" || username[i] == "w" || username[i] == "x" || username[i] == "y" || username[i] == "z" || username[i] == "A" || username[i] == "B" || username[i] == "C" || username[i] == "D" || username[i] == "E" || username[i] == "F" || username[i] == "G" || username[i] == "H" || username[i] == "I" || username[i] == "J" || username[i] == "K" || username[i] == "L" || username[i] == "M" || username[i] == "N" || username[i] == "Ñ" || username[i] == "O" || username[i] == "P" || username[i] == "Q" || username[i] == "R" || username[i] == "S" || username[i] == "T" || username[i] == "U" || username[i] == "V" || username[i] == "W" || username[i] == "X" || username[i] == "Y" || username[i] == "Z" || username[i] == "0" || username[i] == "1" || username[i] == "2" || username[i] == "3" || username[i] == "4" || username[i] == "5" || username[i] == "6" || username[i] == "7" || username[i] == "8" || username[i] == "9" || username[i] == "_" || username[i] == "#" || username[i] == "@" || username[i] == "$" || username[i] == "^" || username[i] == "&" || username[i] == "." || username[i] == " " || username[i] == "*" || username[i] == "," || username[i] == "×" || username[i] == "÷" || username[i] == "[" || username[i] == "]" || username[i] == "€" || username[i] == "£" || username[i] == "¥" || username[i] == "♡" || username[i] == "☆")
{
username_parsed+=username[i];
}
else
{
alert("Has introducido un caracter invalido: " + username[i]);
}
}
alert("Usuario: " + username_parsed);
}
(SCRIPT)
</body>
</html>
Creo que buscas algo así. Cambia las etiquetas (SCRIPT) y (/SCRIPT) Por las originales que me salta la protección del foro.
En el form, en el botón submit añadí onclick="ObtenerInput();"
Al apretar el botón se llama a la función javascript. Se ejecutará lo que haya dentro de la función. Aquí la declaro:
function ObtenerInput()
{
username = document.getElementById("username");
userpassword = document.getElementById("userpassword");
username = username.value;
userpassword = userpassword.value;
alert("Obtenido Usuario " + username);
Parsear();
}
Con username = document.GetElementById("");
Obtengo el objeto del campo del formulario USUARIO. Y este objeto lo guardo en una variable de javascript.
Con username = username.value; Accedo al nuevo contenido guardado para obtener el valor, es decir, lo que introduce el usuario en campo USUARIO del formulario.
Al final llamo a otra función Parse(); que se asegura que no se reflejen caracteres peligrosos en la web a través de introducirlos directamente en el formulario. Sigue habiendo más vulnerabilidades que se pueden explotar y desde otros sitios.
En las multiples comprobaciones se comprueba que el caracter introducido sea uno de los que yo considero que no son peligrosos. Y en caso de ser un caracter no peligroso se añade a la variable final que almacenará el USUARIO.
Aquí puedes probar el el login live por si es eso lo que buscas.
http://stringmanolo.byethost12.com/RetoA.html