09.06.2022: Четверг
Белые ночи в Санкт-Петербурге — это красиво. Белые ночи в Ленинградской области — это когда солнце светит ночью, а обезумевшие птицы устраивают свои «чирик-курлы» по крыше. Такие вещи не способствуют здоровому сну и нормальному остыванию здания. В итоге, сон получается беспокойный, но зрелищный.
Этой ночью я ходил по больнице, а вышел на какую-то выставку продажу, связанную с олимпиадой и электроникой. Так подсознание пытается намекнуть, что нужно заняться здоровьем и продолжать проект Арахна.
Вчера, пытаясь написать класс для проекта на PHP, обнаружил что подзабыл синтаксис. То точку с запятой забуду поставить, то использую точку вместо стрелки при обращении к методу объекта, то забываю $this. В общем, программирование на Python понизило навык разработки на PHP. Впрочем, синтаксис не главное. Главное — продумать как будет работать код, а остальное уже детали.
Сегодня продолжаю автоматизацию тест-кейса. Но на этот раз постараюсь не напрягаться. Даже валерьянки в чай капнул.
Сколько времени надо, чтобы подключить класс к плагину и заставить его работать с Ajax? Часа 3. Просто потому, что только файл плагина имеет доступ к функциям WordPress. Другие файлы в папке плагина такой возможности уже не имеют.
Ну или я пока чего-то не знаю.
Впрочем, главный затык вышел с путём к папке плагина. Обычно этим занимается встроенная функция plugin_dir_path(). Решилось добавлением в класс плагина самописного метода с тем же именем и вызовом его внутри класса через $this->plugin_dir_path().
public function plugin_dir_path() { preg_match("~(.+/)~ui",__FILE__,$path); return $path[1]; }
Работает.
Задача
Есть пенсионер в количестве 1 шт. Из особенностей — зрение почти отсутствует. У пенсионера имеется телефон типа «бабушкофон». С баланса номера на данном телефоне начали испаряться деньги, что может привести к внезапному оставлению без связи.
Вопрос: Сколько времени нужно, чтобы запретить МТС грабить пенсионера?
Ответ: Два часа.
1. Сначала, нужно зайти в личный кабинет на сайте mts.ru
Мне это сделать легко, при наличии компьютера и интернета. Описываемому человеку — практически невозможно.
2. Найти и отключить платные услуги.
Это тоже просто. Есть соответствующий раздел и даже группировка подключенных услуг на платные и бесплатные.
3. Вынести мозг оператору чата, чтобы отключил саму возможность подключать платные услуги в будущем.
А вот здесь нужны скиллы харизмы, опыт подобных бесед и капелька удачи.
Как результат — оператор подключил на тариф бесплатную услугу «Тотальное ограничение информационно-развлекательных сервисов» и отключил услугу «Мобильны офис», чтобы полностью исключить использование мобильного интернета.
Увы, но услуги «Автоматического отключения платных услуг» не смог найти даже оператор чата.
Оператору чата — спасибо. Оператору сотовой связи — моё категорическое «фу быть таким».
Ну хоть так.
При наведении на элемент должен появиться хинт «Скачать». Хм… Ну ок, сделаю такой метод.
def hover(self): self.wait_visible() ActionChains(self.browser.driver).move_to_element(self.web_element).perform()
Пусть дождётся, когда элемент будет виден, а затем наведёт на него мышкой. Главное, убедиться, что элемент в одном экземпляре. Если он не один, то выбрать первый. Выложу здесь, чтобы потом найти, если понадобится.
Почему-то в стандартном классе такого метода нет, что странно. Видимо не используют.
Рабочий день близится к краю, а я пытаюсь не нервничать. Увы, но «сделаю сколько успею» — не про эту работу.
И вот пол-часа до полуночи. Я за компьютером, зрю в к код, как вдруг посещает мысль: Да ну нафиг! I’m OFF, пожалуй.
Вот только на этой неделе точно не до своих проектов. Нужно закрывать горящие задачи.