Python 3.5 с Selenium Webdriver, 485 427 469 461 449 414 403 байта:
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()
Полная программа, использующая простое решение для веб-драйвера Python selenium. Работает в Chrome, хотя для работы требуется установленный ChromeDriver . Работает путем переименования U
и P
на электронную почту и пароль пользователя Stack Exchange соответственно. Однако, если есть какие-либо проблемы с установкой ChromeDriver, вот решение FireFox, которое выполняется точно так же, как и вышеупомянутое решение, и не требует каких-либо драйверов, хотя в настоящее время оно длиннее на 1 байт при 414 404 байтах :
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()
Кроме того, если требуется функция, вот решение с использованием анонимной лямбда-функции, которая в настоящее время составляет 513 455 497 489 477 449 431 байт и использует Chrome в качестве браузера.
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())
Однако, если, опять же, есть какие-либо проблемы, связанные с ChromeDriver, здесь используется тот же тип решения, но на этот раз с использованием Firefox, который в настоящее время составляет 442 432 байта :
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())
Вы вызываете эти лямбда-функции, просто переименовывая функцию как что-либо действительное и затем вызывая свой адрес электронной почты и пароль, как обычную функцию. Например, если функция была названа H
, вы бы назвали ее как H(Email, Password)
.