Python 3.5 avec Selenium Webdriver, 485 427 469 461 449 414 403 octets:
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 programme complet utilisant une simple solution de pilote Web Python selenium. Fonctionne dans Chrome, même si ChromeDriver doit être installé pour fonctionner. Fonctionne en renommant U
et P
en utilisant le courrier électronique et le mot de passe Stack Exchange de l'utilisateur, respectivement. Cependant, s'il y a des problèmes pour installer ChromeDriver, voici une solution FireFox qui est exécutée exactement de la même manière que la solution ci-dessus et n'a pas besoin de pilotes, bien qu'elle soit actuellement 1 octet de plus à 414404 octets :
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()
De plus, si une fonction est souhaitée, voici une solution utilisant une fonction lambda anonyme, actuellement de 513 455 497 489 477 449 431 octets et utilisant Chrome comme navigateur.
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())
Cependant, s'il y a, encore une fois, des problèmes concernant ChromeDriver, voici le même type de solution mais cette fois en utilisant Firefox, actuellement à 442 432 octets :
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())
Vous appelez ces fonctions lambda en renommant simplement la fonction comme quelque chose de valide, puis en appelant avec votre e-mail et votre mot de passe comme une fonction normale. Par exemple, si la fonction était nommée H
, vous l'appelleriez comme H(Email, Password)
.