Python 3.5 z Selenium Webdriver, 485 427 469 461 449 414 403 bajtów:
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()
Pełny program wykorzystujący proste rozwiązanie selenium dla sterowników sieci Web Pythona. Działa w Chrome, chociaż do działania wymaga zainstalowanego ChromeDriver . Działa poprzez zmianę nazwy U
i P
odpowiednio na adres e-mail użytkownika i hasło Stack Exchange. Jeśli jednak występują problemy z zainstalowaniem ChromeDriver, oto rozwiązanie FireFox, które jest uruchamiane dokładnie w taki sam sposób jak powyższe rozwiązanie i nie wymaga żadnych sterowników, chociaż obecnie jest 1 bajt dłużej przy 414 404 bajtach :
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()
Ponadto, jeśli potrzebna jest funkcja, oto rozwiązanie wykorzystujące anonimową funkcję lambda, która obecnie ma 513 455 497 489 477 449 431 bajtów i używa Chrome jako przeglądarki.
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())
Jeśli jednak pojawią się jakiekolwiek problemy dotyczące ChromeDriver, oto ten sam typ rozwiązania, ale tym razem przy użyciu przeglądarki Firefox, która obecnie ma 442 432 bajty :
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())
Wywołujesz te funkcje lambda, po prostu zmieniając nazwę funkcji na dowolną ważną, a następnie wywołując swój adres e-mail i hasło jak normalną funkcję. Na przykład, gdyby funkcja została nazwana H
, wywołałbyś ją tak H(Email, Password)
.