Python 3.5 com 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()
Um programa completo utilizando uma solução simples de driver da web Python selenium. Funciona no Chrome, embora precise do ChromeDriver instalado para funcionar. Funciona renomeando U
e P
para o email e a senha do Stack Exchange do usuário, respectivamente. No entanto, se houver algum problema ao instalar o ChromeDriver, aqui está uma solução FireFox que é executada exatamente da mesma maneira que a solução acima e não precisa de drivers, embora atualmente seja 1 byte mais a 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()
Além disso, se uma função for desejada, aqui está uma solução usando uma função lambda anônima, atualmente com 513 455 497 489 477 449 431 bytes e usando o 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())
No entanto, se houver novamente problemas com o ChromeDriver, aqui está o mesmo tipo de solução, mas desta vez usando o Firefox, atualmente com 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())
Você chama essas funções lambda simplesmente renomeando a função como algo válido e depois chamando com seu email e senha como uma função normal. Por exemplo, se a função fosse nomeada H
, você a chamaria assim H(Email, Password)
.