Python 3.5 con Selenium Webdriver, 485 427 469 461 449 414 403 bytes:
from selenium.webdriver import*;import time;D=Chrome();I=lambda k:D.find_element_by_name(k);C='comment';D.get('http://www.codegolf.stackexchange.com/users/login');I('email').send_keys(U);Z=I('password');Z.send_keys(P);Z.submit();D.get('http://www.codegolf.stackexchange.com/questions/84546');D.find_element_by_link_text('add a '+C).click();E=I(C);E.send_keys('1234567890123456');time.sleep(1);E.submit()
Un programa completo que utiliza una solución simple de controlador web Python selenium. Funciona en Chrome, aunque necesita ChromeDriver instalado para funcionar. Funciona cambiando el nombre U
y P
la contraseña y el correo electrónico de Stack Exchange del usuario, respectivamente. Sin embargo, si hay algún problema al instalar ChromeDriver, aquí hay una solución FireFox que se ejecuta exactamente de la misma manera que la solución anterior y no necesita ningún controlador, aunque actualmente es 1 byte más largo en 414 404 bytes :
from selenium.webdriver import*;import time;D=Firefox();I=lambda k:D.find_element_by_name(k);C='comment';D.get('http://www.codegolf.stackexchange.com/users/login');I('email').send_keys(U);Z=I('password');Z.send_keys(P);Z.submit();D.get('http://www.codegolf.stackexchange.com/questions/84546');D.find_element_by_link_text('add a '+C).click();E=I(C);E.send_keys('1234567890123456');time.sleep(1);E.submit()
Además, si se desea una función, aquí hay una solución que utiliza una función lambda anónima, actualmente en 513 455 497 489 477 449 431 bytes y usando Chrome como navegador.
lambda U,P:exec("from selenium.webdriver import*;import time;D=Chrome();I=lambda k:D.find_element_by_name(k);C='comment';D.get('http://www.codegolf.stackexchange.com/users/login');I('email').send_keys(U);Z=I('password');Z.send_keys(P);Z.submit();D.get('http://www.codegolf.stackexchange.com/questions/84546');D.find_element_by_link_text('add a '+C).click();E=I(C);E.send_keys('1234567890123456');time.sleep(1);E.submit()",locals())
Sin embargo, si hay, nuevamente, algún problema con respecto a ChromeDriver, este es el mismo tipo de solución pero esta vez usando Firefox, actualmente en 442 432 bytes :
lambda U,P:exec("from selenium.webdriver import*;import time;D=Firefox();I=lambda k:D.find_element_by_name(k);C='comment';D.get('http://www.codegolf.stackexchange.com/users/login');I('email').send_keys(U);Z=I('password');Z.send_keys(P);Z.submit();D.get('http://www.codegolf.stackexchange.com/questions/84546');D.find_element_by_link_text('add a '+C).click();E=I(C);E.send_keys('1234567890123456');time.sleep(1);E.submit()",locals())
Llame a estas funciones lambda simplemente cambiando el nombre de la función como algo válido y luego llamando con su correo electrónico y contraseña como una función normal. Por ejemplo, si se nombrara la función H
, la llamaría así H(Email, Password)
.