Имя: Пароль:
1C
 
Мой гений дарит вам идею программно управляемого браузера (Selenium)
,
0 Гений 1С
 
гуру
05.06.22
21:51
В старые добрые времена существовал InternetExplorer.Application, которым можно было программно управлять из 1С.
Сейчас таких управляемых по OLE браузеров нет.
Но есть Selenium на node.js, который я лично щупал.
По сути, им можно программно управлять.
Он будет крутить у себя бесконечный цикл, ожидая команды в входящем файле.
А вы будете туда поставлять команды.
Получать текущее содержимое страницы.
Так что скажите мне спасибо те, кто искал грааль программно управляемого браузера.

Selenium надолго - это по сути стандарт для тестирования браузера и node js там довольно простой и объектная модель знакомая.
2 Amra
 
05.06.22
21:57
(1) Наш гений тормозит на эти 10 лет
3 Гений 1С
 
гуру
05.06.22
22:00
(1) поделись кодом.
4 vsad420
 
05.06.22
22:21
Кто занимается веб-разработкой, веб-скраппингом и т.д давным давно знают и про selenium и про webkit и про прочие механизмы. Вылезай из раковины. Твои "идеи" давным давно были реализованы.
5 Ненавижу 1С
 
гуру
05.06.22
22:22
6 Выпрь
 
05.06.22
22:36
А ты научился селениумом из 1с управлять?
7 Локи-13
 
05.06.22
22:40
(5) ахахах)))
8 Бабрак Кармаль
 
05.06.22
22:58
(0) Какое-какое место на инфостарте?
9 ДедМорроз
 
05.06.22
23:04
К firefox пишете расширение и у вас не только программно управляемый браузер,а еще и сама программа в браузере получается.
10 Asmody
 
06.06.22
00:41
Это какой-то позор
11 progspectar
 
06.06.22
07:46
(0) Поздравляю с подключением к интернету!
12 Гений 1С
 
гуру
06.06.22
07:53
(4) классический вопрос из коучинга "ты знаешь или используешь"? Если используешь, то поделись кодом управления браузером из 1С, ггг...
(9) опять в будущем "пишите", ггг... Не, селениум круче...
13 Гений 1С
 
гуру
06.06.22
07:54
(5) там я освоил Selenium, но не управлял им из 1С. Это разные вещи.
14 Конструктор1С
 
06.06.22
07:59
Чем придумывать уродливые велосипеды, лучше бы твой гений занялся изучением программирования. Может хоть к 25-летию своего опыта наконец-то научишься программировать
15 Amra
 
06.06.22
08:08
(14) Да, Сирожу даже ЛивингСтар уже обошел
16 Гений 1С
 
гуру
06.06.22
08:14
(14) а как не уродливо управлять браузером из 1С? Внимаю, учитель, рассказывай
17 Конструктор1С
 
06.06.22
08:18
(16) _никак_ не надо управлять браузером из 1с. Фронтенд должен быть быстрым, отзывчивым, асинхронным. А не синхронно удерживаться за жеппу и гланды из 1с
18 Caber
 
06.06.22
08:18
Нужен практический пример. Чувствую что-то нужное, т.к. недавно не мог получить данные страницы после обработки ее JS (ajax итд), и не мог вызывать события JS после этой самой загрузки. В итоге создать автокликер для слива базы (https://infostart.ru/public/1459010/)
А что предлагает Гений, неясно
19 Ryzeman
 
06.06.22
08:27
(0)"Вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус... Но зачем?"

(18) Единственное что мне приходит на ум - дёргать данные с каких то сервисов у которых API нет как такового. А вообще я так понял ТС славится удалением гланд через задницу средствами 1с.
20 Ryzeman
 
06.06.22
08:29
(19) и то, блин HTTP запросом же получаешь HTML тело и парсишь. В общем, вообще не понятен сценарий на кой чёрт это всё надо.
21 Гений 1С
 
гуру
06.06.22
08:36
(17) управление браузером используется не для фронтенда, дядя. ггг...
как минимум две вещи реальные: это парсинг сайтов и автоматизация некоторых действий в браузере.
22 Caber
 
06.06.22
08:36
(20) HTML запросом прилетает пустая болванка, далее js на странице делает махинации с загрузкой данных через ajax, после чего тело html запроса уже содержит нужные данные. Все это происходит ПОСЛЕ события 1с "ДокументЗагружен()". Вот именно модифицированную страницу я не мог получить после обработки. Если здесь кто выложит способ как это сделать в webkit 1с, будет здорово.
23 Гений 1С
 
гуру
06.06.22
08:37
(18) ну раз тебе никогда не хотелось управлять браузером то ... гм, дорасти надо...
(20) Ну что ж ты так по-детски сливаешься. А если у тебя данные после авторизации доступны только? А если сайт отслеживает последовательность переходов и выполняет JAVAScript код и без браузера по HTTP ты получишь дырку от бублика? Отож, наивность чукотских юношей впечатляет.
24 Гений 1С
 
гуру
06.06.22
08:39
(22) вот уже ближе к реальности, именно для этого и нужен Selenium, ггг...
Webkit 1с хорош для простых случаев, но на некоторых сайтах он не поддерживается, считается что он устарел. Причем подмена информации о браузере не канает.
25 Гений 1С
 
гуру
06.06.22
08:39
В общем Webkit - это не универсальные костыли, а Selenium работает всегда, причем может моделировать любой браузер.
26 Гений 1С
 
гуру
06.06.22
08:40
Кстати, NODE JS наверное поддерживает Eval, так что можно тупо туда гонять куски кода.
27 Гений 1С
 
гуру
06.06.22
08:40
(22) в вебкит ты можешь просто дождаться в цикле, пока не появится нужный элемент
28 Ryzeman
 
06.06.22
08:42
(22) >>Вот именно модифицированную страницу
Модифицированную на клиенте? Обычно скажем если на странице есть элементы управления типа выпдающего списка, то оно так же отправляет какие нибудь запросики и возвращает JSON. Перехватываешь и смотришь что он там отправляет. Задача, где тебе целиком всю страницу парсить надо... Ну покажи мне реальный такой случай.

(23) >>А если у тебя данные после авторизации доступны только?
А мозгов проследить реквесты по авторизации и повторить их не хватит?

Ладно, в общем, пустой разговор. Даже самые чмошные и унылые источники данных имеют какие-никакие API или выгружаемые DBF хотя бы. Описываемый тобой случай не правдоподобен.
29 Гений 1С
 
гуру
06.06.22
08:46
(28) ты забыл про JS... Банальнейшая защита делается через код на JS, который генирит ключики для HTTP-запросов. Без выполнения запросов ты получишь кукиш от масла.
Нужны примеры? ОК, zoho books и присно известная mamba.ru. Рассказывай мне о своих "прослеживаниях".
В любом случае, эмулировать браузер проще, чем выковыривать структуру. И надежнее, потому что без выполнения JS-кода некоторые сайты не сэмулируешь. Еще вопросы, юноша?
30 Гений 1С
 
гуру
06.06.22
08:48
Конкретно я Селениум использовал для ZOHO BOOKS, там есть API, да. Но в API нет операций массового удаления объектов, т.е. там лимит на N операций в сутки, который нельзя обойти даже платно. А из браузера можно удалять безлимитно.
Вот и посчитали, что проще в браузере сделать.
Ну а если ты хочешь изучать HTTPS запросы элементов управлени, бог в помощь, как говорится... Путь для настоящих героев.
31 Гений 1С
 
гуру
06.06.22
08:50
Раньше у меня был пет-проект для мамбирования (т.е. автоматизированного общения с девушками на мамбе). Умер из-за того, что IE перестал поддерживать управление браузером. Сейчас не актуально уже, но по идее, вполне можно было бы сделать его на Селениум.

Тем более, что местные программисты используют защиту от эмуляции HTTPS по максимуму. И там без полноценного браузера ты однозначно получишь кукиш. Даже чтобы получить картинку девушки, нужно не просто ее адрес указать, а добваить вычисленный в JS ключ.
32 Гений 1С
 
гуру
06.06.22
08:51
Еще один раз клиент хотел распарсить данные сайта (у которого нет АПИ), для анализа товаров конкурентов.
Но я не знал, как это сделать, т.к. про Селениум еще не знал, а вебкит не мог работать с этим сайтом.
Это вам в качестве примеров для медитации...
33 Ryzeman
 
06.06.22
08:51
(29) >>присно известная mamba.ru.
1С: Горячие Мамки?)

>Еще вопросы, юноша?
Теперь нет. Но обычные люди 1с так не используют)
34 Конструктор1С
 
06.06.22
08:52
(21) так твои извращенные идеи сводятся к онанизму через фронтенд, под управлением из 1с. Сходи уже на курсы, не придумывай уродливые извращения
35 Гений 1С
 
гуру
06.06.22
08:53
(33) кури (30) и (32)
(34) 0 бит
36 Масянька
 
06.06.22
08:58
(35) Тебе в личке стоит давно написать: "Никто меня не любит, никто не понимает" (С)
37 Конструктор1С
 
06.06.22
09:00
(35) предлагаю следующую "гениальную" идею. Вместо соединения с СУБД PostgreSQL работать с БД через веб-морду pgAdmin. Ровно тот же извращённый онанизм из серии "так никто в здравом уме не делает"
38 Локи-13
 
06.06.22
09:01
Любой парсер пишется за вечер на питоне. Готового кода в инете вагон. Копируешь и редактируешь.
Тем более уже есть вещи типа requests-html.
А питон такой язык, что простецкие скрипты можно начать писать в первый же вечер.
39 Garykom
 
гуру
06.06.22
09:12
Склероз неожиданно внёс в жизнь пенсионера Сергея Александровича приятную новизну.
- Теперь каждое утро, он просыпается с новой женой, не догадываясь, что это хорошо забытая старая.
40 Caber
 
06.06.22
09:15
(31) > у меня был пет-проект для мамбирования (т.е. автоматизированного общения с девушками на мамбе)
Какой промышленный подход к поиску спутницы жизни
41 Гений 1С
 
гуру
06.06.22
09:59
(36) ну я бы не стал обобщать. 200 ЧД сделали свой выбор. ;-) 200 завистливых 1сников на этом фоне - пыль.
(38) как работает этот парсер? Эмулирует браузер или посылает HTTP запросы?
(40) Не спутницы жизни, а скорее спутницы ночи.
42 Конструктор1С
 
06.06.22
10:06
(41) подлечиться бы тебе, пока не поздно
43 Выпрь
 
06.06.22
10:08
Парсинг сайтов через браузер вполне реальная задача ибо иначе нужно будет придумывать как жс исполнять
44 Kuzmich123
 
06.06.22
10:08
Товарищи админы, а можно посты гения выделить в отдельную ветку? Чтоб их можно было заблокировать и не читать этот маразм.
45 sikuda
 
06.06.22
10:46
(44) Шоу Гения 1С ;) - потешить публику
(26) - "NODE JS наверное поддерживает Eval"
- В современной разработке на JavaScript eval используется весьма редко. Есть даже известное выражение – «eval is evil» («eval – это зло»).
46 Выпрь
 
06.06.22
11:11
(45) оно зло ибо небезопасно. А для себя вполне можно юзать
47 Курцвейл
 
06.06.22
12:02
Извращение какое-то. Лучше подпишись на reddit.com/r/Tinder/. Заодно и инглиш подтянешь.
48 Гений 1С
 
гуру
06.06.22
12:05
(45) спасибо КЭП, ты мне еще про ГОТО в 1С расскажи.
(43) отож. А тут ЖС уже исполняется.
(44) каки мы нежныя
49 Курцвейл
 
06.06.22
12:06
О том почему нет ничего хорошего в автоматизированной мамбе отлично рассказано в последней серии LDR третьего сезона. https://www.distractify.com/p/jibaro-meaning-love-death-and-robots#:~:text=%E2%80%9CJibaro%E2%80%9D%20Meaning%3A%20'Love,Entertainment
50 Serginio1
 
06.06.22
12:33
Сергей надо читать мои статьи! https://infostart.ru/1c/articles/466196/
Там и про Silenium  написано! 6 лет тому назад!

Я бы еще добавил Silenium прежде всего как построитель DOM в заскриптованных таблицах http://www.seleniumhq.org/docs/05_selenium_rc.jsp#c
http://scraping.pro/example-of-scraping-with-selenium-webdriver-in-csharp/

Для того что бы добраться до сформированного DOM можно использовать вместо PageSource
вычисляемый скрипт

http://stackoverflow.com/questions/26584215/selenium-page-source-does-not-return-modified-dom-tree

var pageSource = (string)driver.ExecuteScript("return document.body.outerHTML");
      
27.  quick  581 23.05.17 23:04
(23) Сергей дело говорит, selenium часто спасает. Правда я его юзаю через python, но какая разница.
Никогда не мог понять зачем делать парсер в 1С, если можно на том же .NET написать нормальный парсер и юзать его через тот же SOAP как веб сервис. А если потребуется парсить в несколько потоков или т.д.? Для чего жопаболь с 1С-языком?
51 Бабрак Кармаль
 
06.06.22
13:02
(50) > Для чего жопаболь с 1С-языком?
Да потому что, дядь Сереж, 1С-ники в массе своей тупы и ограничены. Они, кроме своего языка ничего не знают и знать не хотят - возникновение oscript тому явное подтверждение.
52 Гений 1С
 
гуру
06.06.22
13:05
(50) AngleSharp.BrowsingContext - это что за объект?
53 Злопчинский
 
06.06.22
13:22
(51) а то ж!
54 Serginio1
 
06.06.22
13:44
(52) Вообще то это тип
BrowsingContext = Врап.ПолучитьТип("AngleSharp.BrowsingContext");
Но я даже не про AngleSharp, а внизу в комментариях про использование Silenium через мою компоненту. А так у AngleSharp есть и вычисление
https://github.com/AngleSharp/AngleSharp/blob/devel/docs/tutorials/03-Examples.md#connecting-javascript-evaluation

(53) Ну всякие COM ты используешь. Объекты и классы .Net мало чем отличаются. Есть свойства и методы. Ничего там такого страшного нет.
Есть только нежелание мозга менять привычные пути мышления, организуя новые нейронные связи!
1С тоже надо изучать. Мне 58, а я все учусь и учусь!
55 Сергиус
 
06.06.22
13:46
(44) Предлагаешь сразу как СПАМ помечать?)
56 Бабрак Кармаль
 
06.06.22
13:49
(54) > а я все учусь и учусь
Да ты от гыгыгения в своей мании распихивания ссылок на статьи себя, любимого, тоже недалеко ушел.
57 Serginio1
 
06.06.22
13:57
(56) Я даю информацию о своих наработках. Ничего с этого не имея. Поверь я потратил на эти ссылки кучу времени. Ради того, что бы облегчить кому то жизнь.
Извини, что только усложнил тебе жизнь.
58 Ненавижу 1С
 
гуру
06.06.22
14:35
(56) в отличия от Гения здесь действительно есть конкретные результаты
59 Бабрак Кармаль
 
06.06.22
14:39
(57) > "Я даю информацию о своих наработках. Ничего с этого не имея. Поверь я потратил на эти ссылки кучу времени. Ради того, что бы облегчить кому то жизнь."

Вот в точности слова Осипова. Ну, только без его фирменных гыгы и 0 бит.
Речь не о результате. Речь о подходе.
60 Serginio1
 
06.06.22
14:41
(59) Подход в чем? Писать статьи и информировать об этом людей? Объясни что в этом плохого?
61 Гений 1С
 
гуру
06.06.22
14:42
(54) спасибо за На-Водку, и я понимаю твой пафос. Но все же, это COM-обертка над Selenium? Или чё? Кто эту обертку делает? Потому что в свое время я искал COM-обертку браузеров и не нашел.

(57) Он еще молодой, ему не дано понять, что такое взаимопомощь спецов. Сегодня ты помог, завтра тебе помогут.

(58) Я Гений 1С, а не Гений .Net, результаты у нас в разных сферах. Но Сергиньол хорошо шарит в Нетях, я помню, когда на Шарпе COM-объект писал, он мне хорошо помог.
62 Гений 1С
 
гуру
06.06.22
14:42
(60) Мой дед и баба были учителями в сельской школе. Наверное, оттуда у меня тяга писать методические материалы, ггг.
63 polosov
 
06.06.22
14:43
(50) Потому что уволится такой Вася-бетонщик, а предприятию потом надо искать прога со знанием еще и этой йобы.
64 Serginio1
 
06.06.22
14:53
(61) Вообще моя компонента это обертка над любыс нетовским классом. В том числе и selenium
Скачать нетовскую обертку можешь отсюда
https://www.selenium.dev/downloads/
https://chromedriver.chromium.org/downloads

Примеры здесь
https://www.selenium.dev/documentation/#c
https://www.toolsqa.com/selenium-webdriver/c-sharp/browser-navigation-commands-in-c/
65 Serginio1
 
06.06.22
14:56
(63) Ну либо сидеть с ограниченным функционалом, либо нанимать людей со знанием не только 1С!
Никто же не заставляет! Но при этом куча народа использует СОМ! Моя обертка это тот же СОМ но над .Net объектами.
Прочитать описание про .Net объект не большая проблема!
66 Гений 1С
 
гуру
06.06.22
14:59
(64) так. А нетовский класс селениум кто производит? сами разработчики селениума?
67 Гений 1С
 
гуру
06.06.22
14:59
(63) 1С - это "доступно и всерьез", а не "Операционная система тоже на 1С", ггг
68 Бабрак Кармаль
 
06.06.22
15:01
(67) Чо там с базухой, которая все на MSSQL, а клиентом там 1С:Деньги?
"Доступно и всерьез", ггг?
69 Serginio1
 
06.06.22
15:04
(66) Да. Там же не только для .Net, но и Java,Python,Ruby,JavaScript,Kotlin
70 Гений 1С
 
гуру
06.06.22
15:08
(69) Ну тогда оки-доки. ;-) не знал, что Selenium такая многосторонняя шняга. Может через Net тогда и удобнее, чтобы лисапед не изобретать.
71 Гений 1С
 
гуру
06.06.22
15:08
(69) жаль что под COM не написали
72 Гений 1С
 
гуру
06.06.22
15:08
(68) в планах (творческих)
73 DrZombi
 
гуру
06.06.22
15:09
(0) Держи силениум на C#
Исходники приложены, можно допились до новых технологий.

https://infostart.ru/public/1274701/

Если заинтересует, то в Консоль диспетчера пакетов выпонить.

https://www.selenium.dev/downloads/
Install-Package D:\Downloads\selenium.webdriver.4.1.1.nupkg

https://www.nuget.org/packages/Selenium.WebDriver.PhantomJS.Xplatform/
Install-Package Selenium.WebDriver.PhantomJS.Xplatform -Version 2.45.0.1

Затем:

В кусочек кода дописать в модуле "BotNET.cs"

Кусочек:

        public void Initialization_Bot(String Path_PJS)
        {
            try
            {
                if (Path_PJS == "ChromeDriver")
                {
                    PJS = new ChromeDriver();
                }
                else if (Path_PJS == "InternetExplorerDriver")
                {
                    PJS = new InternetExplorerDriver();
                }
                else if (Path_PJS != "")
                {
                    PJS = new PhantomJSDriver(Path_PJS);
                }
                else
                {
                    PJS = new PhantomJSDriver();
                }                
            }
            catch (Exception e)
            {
                String message = "error/" + _IDSite + "/" + DateTime.Now.ToString();
                asyncEvent.ExternalEvent("BotNET", message, e.ToString());
            }

            //PJS.Manage().Window.Maximize();
            //PJS.Dispose();
            //return PJS;
            //_IDSite
        }


...
п.с. для IE не работает, а для хрома даже очень.
Позволяет обходить DOSS Guardian.

Хром установить:
Версия Хрома x32 - 101.0.4951.41 Copyright 2022 Google LLC

Почему 101.0.4951.41, все просто, последний драйвер для силениума поддерживает именно этот хром.
Если найдешь свежей, Хром тоже качнешь свежей :)
74 DrZombi
 
гуру
06.06.22
15:11
+(73) >> п.с. для IE не работает

Просто к ИЕ надо дописывать другие методы, разработчик не стал писать плагиат, как у хрома... Хотя мог бы :(
75 DrZombi
 
гуру
06.06.22
15:13
+(73) Описался по фрейду :(

допились -> допилить
76 Гений 1С
 
гуру
06.06.22
15:20
(73) а чем он мне на C# поможет. как я им смогу управлять из 1С?
77 DrZombi
 
гуру
06.06.22
15:26
(76) Там примерчик, для тебя пару сек его разобрать.
Писано для Бота запущенного на сервере 1С х64, который парсит страницы и сверяет их.
Последний штрих "ChromeDriver", позволяет обходить DDOS guardian.
78 DrZombi
 
гуру
06.06.22
15:26
+(76) Обходить это громко сказано, просто защита пропускает бота на страницу :)
79 Конструктор1С
 
06.06.22
15:28
(72) ну то есть никогда
80 Конструктор1С
 
06.06.22
15:31
(73) ООП, стандарты? Не, не слышал)
81 Гений 1С
 
гуру
06.06.22
15:31
(77) примерчик чего?
82 novichok79
 
06.06.22
15:34
я заюзал ChromeDriver, норм. Selenium вроде тоже его юзает.
а вообще парсинг из 1С - а месье знает толк.
83 Гений 1С
 
гуру
06.06.22
15:35
(82) почему бы и нет, если можно все напаршленное сложить в свою БД, которая на коленке быстро подымается
84 Serginio1
 
06.06.22
15:36
(76) Ну не хочешь мою компоненту, можешь обернуть через свой COM объект. Ты же уже пиал Пишу COM-ВК для 1C на С#
85 Гений 1С
 
гуру
06.06.22
15:54
(84) там запаришься оборачивать.
86 Serginio1
 
06.06.22
16:25
(85) Для этого и существует моя компонента! Там всего пару строчек на получение обертки!
87 Гений 1С
 
гуру
06.06.22
18:09
(86) ну это да. это хорошо, что есть Селениум под Нет, ок, если понадобится чего парсить, буду в курсе такой технологии.
88 ДедМорроз
 
06.06.22
23:36
Объясните мне про ваши танцы с бубнами?
Берете браузер,сейчас хроминиум,поэтому любой,пишете для него расширение,а это просто код на javascript,коьорый ограничения безопасности обходит,и делаете с загруженной страницей все,что угодно.
Зачем еще что-то ставить,что-то писать,когда все у вас под рукой и f12 для просмотра структуры страницы?
89 DrZombi
 
гуру
07.06.22
05:52
(80) Что простите? Как то на днях слепил из регистра сведений справочник, живущий по принципу регистра.
Если вы ограничены фантазией разработчика, ваше право :)

...ладно, если серьезно, поделка делалась для , а не ради... "Для" успешно работает, если вы перфекционист, то исходники в архиве, лепи себе любой ООП стандарт, какой пожелаешь :)
90 DrZombi
 
гуру
07.06.22
05:53
+(80)Код на уровне "Hello Word" там и студент разберет :)
91 DrZombi
 
гуру
07.06.22
05:55
(82) Да, на хром драйвере (последней версии), даже эту защиту обходит, я лично был в шоке, когда поюзал :)
92 DrZombi
 
гуру
07.06.22
05:56
(85) Вообще та нет, человек реально отлично все реализовал, я просто нуб в этой деле :)
93 Конструктор1С
 
07.06.22
06:00
(88) а как же  без хениальных костылей?
94 DrZombi
 
гуру
07.06.22
06:02
(88) Не так. На клиенте, у вас "javascript" будет работать и без силениума, не удобно, но можно реализовать все что хотите через COM IE.

Силениум дает в руки разработчика больше инструментов для парсинга страниц :)

Пример:
https://zen.yandex.ru/media/id/5be892f0d37bd400a93e0604/kak-parsit-stati-iz-vikipedii-s-pomosciu-python-5fbb3305ffe1de7f5c1ab4a0
95 vsad420
 
07.06.22
08:32
(12) Знаю и использую. Обертываем подходящий под задачу вариант в сервис с rest API, пихаем в контейнер и получаем решение которое можно дергать из любых систем.
96 andrewalexk
 
07.06.22
10:06
(44) :) "...но дед знал все тропинки в лесу и музыка все же находила своего благодарного слушателя"(с)
97 Бабрак Кармаль
 
07.06.22
10:14
(96) > музыка все же находила своего благодарного слушателя

Но их музыку приходится слушать каждый день, ибо заводят ее повсеместно. И потому не слышим ни ветра, ни моря, ни шороха листьев, ни пения птиц. А только один и тот же пустой и мертвый звук, которым хотят удивить, запуская его в небо под разными углами.
98 Гений 1С
 
гуру
07.06.22
11:58
(88) ну так эта, расширение в студию.
99 Бабрак Кармаль
 
07.06.22
12:00
(98) Башляй
100 NorthWind
 
07.06.22
12:38
"Мой гений"? Селениум придумали лет 17-18 назад в США. Не думал, что вы к этому причастны. В те времена вы, конечно, тоже были весьма знаменитой личностью, но несколько в другом плане...
101 andrewalexk
 
07.06.22
12:57
(100) :) протестую планы "гениальности" фиксина никогда не меняются
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс