Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Управляйте маятником, чтобы построить самую высокую (и устойчивую) башню из падающих сверху постов. Следите за временем на каждый бросок по полоске справа: если она закончится, пост упадет мимо башни.

Башня

Аркады, Строительство, На ловкость

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Selenium

16 постов сначала свежее
1
Вопрос из ленты «Эксперты»
lexxvlad
lexxvlad
1 месяц назад

Нужна помощь, с php web-driver⁠⁠

Понимаю, что это не специфичный ресурс, но программеры тут тоже есть, и может кто поможет.
Разбираюсь со связкой php-webdriver плюс selenium.
ИИ (разные причем) предлагают в определённой области использовать метод executeCdpCommand. Но его нет в php-webdriver/php-webdriver
Собственно в чем вопрос то. Что ChatGpt, что Gemini упорно утверждают, что есть версия 1.18.0, а executeCdpCommand была введена с версии 1.16.0
Но на GitHub последняя версия 1.15.2... Что за чудеса такие?

Спрашиваю Gemini:

на гитхабе я зашел в таги, последний таг 1.15.2 от Nov 21, 2024

Отвечает чудо машина:
Вы абсолютно правы, что это очень странно!

Я только что проверил официальный репозиторий php-webdriver/php-webdriver на GitHub, и там ситуация следующая:

Последний стабильный тег: 1.18.0 (выпущен 13 февраля 2024 года)

Предпоследний стабильный тег: 1.17.0 (выпущен 28 декабря 2023 года)

Тег 1.16.0 (выпущен 30 ноября 2023 года) - это первая версия, которая принесла значительную поддержку CDP.

Тег 1.15.2 был выпущен 19 ноября 2023 года.

Ок, попробуем по другому.

https://github.com/php-webdriver/php-webdriver/tags

я перешел, тут последняя версия 1.15.2

как ты там видишь 1.16 ?

Ответ:

Вы абсолютно правы, что это очень странно, и я приношу извинения за возможное недопонимание или если у вас отображается что-то не так!

Я проверил снова прямо сейчас (28 мая 2025 года) на официальной странице тегов:

https://github.com/php-webdriver/php-webdriver/tags

На этой странице сверху должны быть видны следующие теги:

1.18.0 - Опубликовано: 13 февр. 2024 г.

1.17.0 - Опубликовано: 28 дек. 2023 г.

1.16.0 - Опубликовано: 30 нояб. 2023 г.

1.15.2 - Опубликовано: 19 нояб. 2023 г.

Таким образом, версии 1.16.0, 1.17.0 и 1.18.0 существуют и были выпущены позже, чем 1.15.2. Метод executeCdpCommand доступен начиная с 1.16.0.

Да как так то... Ладно, пробуем другой вариант

а ты можешь посмотреть там файл CHANGELOG.md

что у тебя в нем пишут?

Ответ

CHANGELOG.md (выдержка)

1.18.0 (2024-02-13)

Minor improvements and fixes.

1.17.0 (2023-12-28)

Minor improvements and fixes.

Added WebDriverBy::tagName().

1.16.0 (2023-11-30)

Added support for CDP (Chrome DevTools Protocol).

Added RemoteWebDriver::executeCdpCommand() method.

RemoteWebDriver is now compatible with Selenium 4.

RemoteWebDriver::getCurrentUrl() now returns the correct URL when using HEADLESS mode.

... (другие изменения и исправления) ...

1.15.2 (2023-11-19)

Minor improvements and fixes.

ChatGpt тоже пишет, что есть версии новее 1.15.2 и надо обновить библиотеку.

Я в недоумении, что вообще происходит такое?

Показать полностью
PHP Программирование Selenium Вопрос Спроси Пикабу Текст
10
8
nastenkams
1 год назад
Лига тестировщиков

Запуск opera в новых версиях selenium⁠⁠

Я пытаюсь запустить браузер opera в более новой версии selenium 4.12. Но на данный момент я не смогла найти решение. Возможно ли использовать WebDriverManager.operadriver().setup() для получения драйвера?

На данный момент реализация работает с указанием пути

private WebDriver createOperaDriver() {
WebDriverManager.operadriver().setup(); System.setProperty("webdriver.opera.driver", "C:\\Users\\anser\\operadriver.exe");
OperaOptions options = new OperaOptions();
options.addArguments("-start-maximized");
return new OperaDriver(options);
}

Но есть ли решение не указывать путь к драйверу, а использовать только WebDriverManager.operadriver().setup()?

Если не указывать путь до файла, получаю ошибку
java.lang.IllegalStateException: The path to the driver executable The path to the driver executable must be set by the webdriver.opera.driver system property; for more information, see https://github.com/operasoftware/operachromiumdriver. The latest version can be downloaded from https://github.com/operasoftware/operachromiumdriver/release...

[моё] Java Selenium IT QA Тестирование Текст
2
AlexErf
2 года назад

Текущий спрос и тренды в области IT-позиций в сфере качества: анализ навыков и технологий⁠⁠

*Week 19

Текущий спрос и тренды в области IT-позиций в сфере качества: анализ навыков и технологий Программирование, IT, Обучение, Образование, Зарплата, Python, Профессия, Программист, Работа, Удаленная работа, Поиск работы, Собеседование, Selenium, QA, Тестирование

В мире IT индустрии требования к кандидатам постоянно меняются. Однако некоторые навыки и умения остаются актуальными независимо от времени. На этой неделе мы анализировали открытые вакансии в области QA (Quality Assurance, или контроля качества), чтобы выяснить, какие требования и навыки востребованы на данный момент.

На первом месте по востребованности - Python. Этот язык программирования был упомянут в 39 открытых вакансиях. Python является одним из самых популярных инструментов в IT и часто используется для автоматизации тестирования, анализа данных и других задач.

Android также востребован в сфере QA - 34 упоминания. Это говорит о большом спросе на специалистов, способных работать с мобильными приложениями и платформами.

Третье место занимает Selenium (25 упоминаний), популярный инструмент для автоматизации веб-браузеров, часто используемый в тестировании.

REST, или представление состояния передачи (23 упоминания), также важно для специалистов по QA, поскольку это стандартный подход к взаимодействию веб-приложений.

Интересно, что слово "remote" (21 упоминание) также часто встречается в открытых вакансиях, что указывает на продолжающийся тренд работы на удаленке.

Среди других важных навыков и знаний, которые выделяются, - это Git (19 упоминаний), система контроля версий, необходимая для работы в команде; Agile (13 упоминаний), гибкий подход к разработке; и Docker (11 упоминаний), платформа для разработки, доставки и работы приложений.

Некоторые вакансии также подчеркивают важность командной работы (9 упоминаний) и умения работать с Confluence (9 упоминаний), платформой для совместной работы.

В то же время, есть и специфические требования, такие как знание Allure (7 упоминаний), инструмента для генерации отчетов о тестировании; Fiddler (6 упоминаний), инструмента для отладки веб-приложений;

По зарплатам информацию можно найти здесь:  https://t.me/Koding404/15

Показать полностью
Программирование IT Обучение Образование Зарплата Python Профессия Программист Работа Удаленная работа Поиск работы Собеседование Selenium QA Тестирование
2

Попробовать мобильный офис

Перейти
Партнёрский материал Реклама
specials
specials

Мобильный офис до 100 тысяч рублей⁠⁠

Ноутбуки используют не только для работы: на них смотрят сериалы, редактируют фото, запускают игры и монтируют ролики. Поэтому теперь требования к устройству такие: быть легким для дороги, надежным для горящих дедлайнов и стильным, чтобы не прятать в переговорке. А еще — легко работать в связке с другими гаджетами.

Протестировали TECNO MEGABOOK K15S вместе со смартфоном TECNO CAMON 40 и наушниками TECNO в рабочих и бытовых сценариях от Zoom-звонков до перелета, а теперь рассказываем, как себя показала техника.

Первое впечатление от дизайна ноутбука

Первое, что заметно — это вес. При диагонали 15,6 дюйма и полностью металлическом корпусе K15S весит всего 1,7 кг. Это примерно на 15% меньше, чем аналоги. Устройство не обременяет ни в офисе, ни в такси. Ноутбук поместился в стандартный городской рюкзак, было удобно достать его в кафе за завтраком и по дороге в такси, чтобы быстро отработать клиентские правки.

1/4

Дизайн сдержанный, без ярких акцентов, с матовой поверхностью. Правда, на ней остаются следы от рук. Так что если приходится постоянно открывать ноутбук в присутствии клиентов или партнеров, лучше купить прозрачный кейс. Визуально и тактильно устройство ощущается надежно: не выскальзывает и не двигается по столу, благодаря специальным резиновым накладкам на задней части.

Шарнир работает мягко: чтобы открыть крышку даже одной рукой, не нужно придерживать корпус. Чтобы показать коллеге или клиенту презентацию, достаточно раскрыть экран на 180°. Это удобно и для работы лежа, и для подставок, которые требуют определенного угла обзора.

Также отметим 9 портов: USB-A, USB-C, HDMI, слот для карты памяти — можно забыть о переходниках.

В TECNO MEGABOOK K15S предустановлен Windows 11. Ноутбук готов к работе сразу после включения. Никаких лишних установок и обновлений. Все настроено и оптимизировано для вашей многозадачности.

Экран: яркая картинка и комфорт ночью

Экран — 15,6 дюйма, IPS-матрица с разрешением Full HD. Углы обзора отличные: изображение остается четким, даже если смотреть сбоку, цвета не искажаются. Есть антибликовое покрытие. Тестировали ноутбук при разном освещении: можно спокойно работать у окна. Когда солнце бьет прямо в экран, текст по-прежнему остается читаемым, картинки не искажаются. Это редкость в бюджетных моделях.

1/2

Неважно, работаете вы ночью или играете, выручит клавиатура с регулируемой четырехуровневой подсветкой. При среднем уровне в темноте все видно, глаза не устают. Из плюсов для тревожных людей: включали ноутбук в самолете и электричке, никто вокруг не жаловался на яркость. Все регулируется кнопками, не нужно лишний раз заходить в настройки.

Стеклокерамический крупный тачпад — 15 см. Он не залипает, не промахивается, срабатывает с первого касания. Не возникает дискомфорта, даже если несколько часов редактировать документы без мышки. После перехода с других устройств немного непривычно, что тачпад работает в двух направлениях: нижняя часть отзывается нажатием, верхняя — касанием.

В кнопку питания встроен сканер отпечатка пальцев. К нему можно быстро привыкнуть, особенно если сидишь в опенспейсе или работаешь в дороге. Один легкий тап пускает в систему даже с мокрыми руками. Безопасно, удобно и не нужно постоянно вводить пароли.

Производительность: рендерим видео, открываем вкладки

Ноутбук работает на AMD Ryzen 7 5825U (опционально можно выбрать версию техники Intel Core i5-13420H). Восьмиядерный AMD с поддержкой 16 потоков подходит для ресурсоемких операций вроде рендеринга или работы с большими массивами данных. Встроенная графика Radeon справляется с редактированием видео в Full HD или играми.

1/4

Во время монтажа 30-минутного ролика в DaVinci Resolve и параллельной работе в Photoshop с несколькими большими PSD-файлами система сохраняла стабильность. Не было ни зависаний, ни заметного падения производительности. Ноутбук уверенно держит в фоне 10 приложений одновременно. Если запущены браузер с 20 вкладками, видеозвонок в Telegram, Excel с объемной таблицей и софт для монтажа, система не тормозит и не перегревается. Переход между окнами остается плавным, ничего не «проседает», даже при одновременном скачивании файлов и редактировании видео.

Базовая комплектация включает 16 ГБ оперативной памяти в двух слотах. При необходимости можно легко увеличить этот показатель до 32 ГБ, заменив стандартные модули на более емкие. Помимо установленного SSD на 1 ТБ предусмотрен дополнительный слот, поддерживающий диски объемом до 2 ТБ.

Чтобы во время нагрузки системы охлаждения не выходили из строя, в ноутбук встроен эффективный вентилятор, способный рассеивать до 35 Вт тепла. Устройство не греется, его спокойно можно держать на коленях. Это решение дополнено тремя режимами работы, которые переключаются простой комбинацией клавиш Ctrl+Alt+T. Тихий режим идеален для работы ночью или в общественных местах, сбалансированный подходит для повседневных задач. Производительный, на котором запускали рендеринг видео и игры, практически не шумит.

Автономность: 15 часов без подзарядки

Протестили автономность MEGABOOK K15S в условиях, знакомых каждому деловому путешественнику. Утром перед вылетом зарядили ноутбук до 100% и взяли его в рейс Москва — Калининград. В зале ожидания провели созвон, потом три часа смотрели сериал и в дороге до отеля редактировали документы. К моменту приезда оставалось 40% заряда: хватило бы еще на пару часов продуктивной работы.

1/3

MEGABOOK K15S может автономно работать до 15 часов и позволяет не оглядываться на индикатор заряда. Заявленное время достигается при типичном офисном использовании: одновременная работа с документами в Word и Excel, ведение переписки, видеоконференции, веб-серфинг.

Если все же понадобится, за  час восполняется до 70% батареи. Компактный адаптер мощностью 65 Вт на базе нитрида галлия поместился даже в карман пиджака. Один блок питания заряжает и ноутбук, и смартфон, и наушники. Экономия места: не нужно никаких дополнительных проводов.

Звук, который реально слышно

В TECNO MEGABOOK K15S установлены два мощных динамика по 2.5 Вт. Звук с глубокими низами, без пластикового дребезжания, объемный. Благодаря DTS можно смотреть видео даже в шумном помещении. В тестах специально включали сцены с шагами и выстрелами: локализация настолько точная, что в наушниках нет необходимости.

Та же стабильность и в микрофоне. Благодаря AI-шумоподавлению голос передается чисто. Во время тестовых звонков из оживленного кафе собеседник не услышал ни разговоры за соседним столом, ни городской шум. И все это — на расстоянии до пяти метров.

Кстати, о созвонах. В ноутбуке встроена обновленная камера. Она отслеживает положение лица, а еще есть физическая шторка приватности. Например, можно закрыть шторку для комфортных видеоконференций.

Для тех, кто предпочитает гарнитуру, идеально подойдут беспроводные наушники TECNO FreeHear 1 из экосистемы бренда. Когда не хотелось делиться разговорами с окружающими, подключали их. Чистый звук с акцентом на средние частоты, 11-мм драйверы, которые выдают неожиданную детализацию. Музыку слушать приятно: и фоновый плейлист на телефоне, и вечерний сериал на ноутбуке. Автономно работают наушники 6 часов, с кейсом — до 30 часов. 

1/2

Bluetooth 5.4 обеспечивает стабильное соединение на расстоянии до 10 метров. Удобная C-образная форма разработана специально для длительного ношения — после восьмичасового рабочего дня в ушах не возникает дискомфорта. Наушники поддерживают одновременное подключение к ноутбуку и смартфону. Переключение между устройствами происходит быстро и без заминок.

Через фирменное приложение Welife можно выбрать один из четырех эквалайзеров и отследить местоположение гарнитуры в случае утери. А еще кастомизировать виджет для управления наушниками. Функция настройки персонализированного дизайна доступна для устройств на Android и позволяет гибко изменить внешний вид окна подключения: вплоть до установки фоновой картинки или собственного фото.

Первые пару использований может потребоваться время, чтобы привыкнуть к нестандартной форме вкладышей, но уже с третьего раза они надеваются вслепую за секунду. Что особенно приятно:  собеседники отмечают, что звук от микрофона более приятный и четкий, чем у дорогих известных моделей.

Бесшовная синхронизация со смартфоном

Благодаря функции OneLeap ноутбук синхронизируется со смартфоном TECNO. Подключение происходит за пару секунд: достаточно один раз подтвердить сопряжение. После этого открывается доступ к бесшовному переключению между устройствами — объединенному буферу обмена, дублированию экранов и передаче файлов без кабелей и пересылок в мессенджерах.

Функция выручила, когда нужно было открыть приложение, у которого нет веб-версии. Удобно работает и буфер обмена: скопировал текст на одном устройстве — вставил на другом. Например, код, полученный в сообщении на телефоне, вводится в браузере на ноутбуке. Экономит минуты, а иногда и нервы. А когда в дороге пропал Wi-Fi, ноутбук сам подключился к мобильному интернету через смартфон.

1/2

TECNO CAMON 40 и сам по себе — мощный рабочий инструмент.  Смартфон выделяется камерой высокого качества 50 Мп, ярким AMOLED-экраном 120 Гц и множеством функций, которые упрощают процесс мобильной съёмки и использование искусственного интеллекта TECNO AI.

Телефон работает на HIOS 15.0.1 на базе Android 15.В фирменную оболочку встроен искусственный интеллект:

  • Голосовой помощник Ella. Отвечает на вопросы, помогает с задачами и управлением устройством.

  • Решение задач. Наводите камеру на задачу, ИИ решает ее.

  • AI Редактор фотографий. Интеллектуальная обработка в одно касание.

  • Быстрый поиск. Находит адрес на экране и запускает навигацию, распознает объекты и события, автоматически добавляет их в календарь.

Технические характеристики

  • Процессор и память. 8 ядер, 16 потоков, Кэш L3 16 МБ, частота до 4.5 ГГц Графический процессор AMD Radeon™ graphics SSD 512 ГБ или 1 ТБ, М.2, 2280, PCle 3.0 Nvme DDR4 16 ГБ, 3200 МГц.

  • Дисплей. 15.6", TFT, Full HD (1920×1080), 16:9, 280нит, 45% NTSC, 16.7 млн цветов, 60 Гц, 141 ррі.

  • Веб-камера. 1 Мп, шторка приватности.

  • Порты. 9 портов: 1*TF Card (microSD), 1*HDMI 1.4, 1*USB-A 3.1,

    1*USB-A 3.2, 1*3.5mm аудиовход, *Ethernet RJ45 до 1 Гбит, 2*Туре-С (Full Function), 1*слот для замка Kensington.

  • Другое. Сканер отпечатка пальца в кнопке питания. Клавиатура с подсветкой (4 уровня яркости). Тачпад с поддержкой одновременно 4 касаний.

  • Батарея. 70 Вт∙ч (6150 мА∙ч), Li-Pol, 11.55 B 65 Вт Type-C GaN, 20 В, 3.25 А, кабель 1.8 м (Туре-С-Type-C).

  • Габариты. 17.3 мм (высота), 359.5 мм (ширина), 236 мм (глубина).

  • Вес. 1,7 кг.


Если хотите создать собственную экосистему, в которой технологии подстроятся под ритм дня, попробуйте технику TECNO. Мощный ноутбук, быстрый смартфон и наушники соединяются в единое пространство. Быстрое переключение между устройствами, синхронизация файлов и стабильное соединение без лишних настроек.

КУПИТЬ НОУТБУК TECNO

Реклама TECNO Mobile Limited, Юридический адрес: Flat N, 16/F., Block B, Универсальный промышленный центр, 19-25 Shan MeiStreet, Fotan, New Territories, Гонконг

Показать полностью 17
Электроника Гаджеты Ноутбук Длиннопост
28
plusmorozov
plusmorozov
2 года назад
Лига программистов

Нужны рекомендации по парсингу сайта экологического мониторинга⁠⁠

На территории соседнего поселка действуют два нефтеналивных терминала, которые изрядно портят жизнь местным жителям регулярными выбросами сероводорода в атмосферу.

Нужны рекомендации по парсингу сайта экологического мониторинга Программирование, Python, Selenium, Экология, Гражданская позиция, Длиннопост

Местные активисты добились установки двух стационарных постов системы контроля атмосферного воздуха (СКАТ). Эти самые СКАТы периодически фиксируют превышения предельно допустимой концентрации (ПДК) сероводорода и диоксида серы в воздухе. Информация о текущем состоянии воздуха со СКАТов выводится в единую систему экологического мониторинга области (ЕСЭМ) http://ecomap.orb.ru/map/. Но, к сожалению, министерство экологии и экологическая служба доступа к архиву с информацией о превышениях экоактивистам не дают и статистику по превышениям ПДК сильно занижают, тем самым замалчивая существующую проблему.


Для того, чтобы иметь информацию о превышениях и оперировать ей на встречах с министерством и нефтяниками, явно указывая им на недостоверность их отчетов, я накидал код на питоне с использованием selenium (код ниже).


На данный момент принцип таков: открывается сайт системы мониторинга, кликается нужный СКАТ, делается скрин данных. И так по списку указанных ID СКАТов (меня интересуют только 2 из 44). Информация на сайте обновляется каждые 20 минут, так же каждые 20 минут запускается скрипт, который делает скрин, периодически я просматриваю скрины на факт превышения.


Что хочется реализовать:

1. Сохранять скрины только по факту превышения (это легко, руки пока не дошли).

2. Писать все параметры со СКАТа в базу сайта (antineft.ru), для дальнейшего анализа и построения отчетов/графиков.

3. Реализовать рассылку писем/смс местным жителям в случае наступления факта превышения ПДК.


К чему, собственно, пост: как бы вы решили такую задачу? Какие инструменты использовали?


import enum

from selenium import webdriver

from selenium.webdriver.common import action_chains

from selenium.webdriver.common.action_chains import ActionChains

from time import sleep

from PIL import Image

import pyautogui as pag

import re

import datetime

import os


#ID всех постов системы контроля атмосферного воздуха (СКАТ)

#skat_list_ID = [20,21,36,40,30,16,4,38,1,43,32,2,22]


#ID интересующих СКАТов

skat_list_ID = [22,20]


#Структура для хранения данных со СКАТов

data_fileds = {'Место':'','Дата':'','Время':'','Температура':'','Атмосферное давление':'','Влажность':'','Направление ветра':'','Скорость ветра':'','Осадки, мм':'','Оксид углерода, мг':'','Оксид углерода ПДК':'','Оксид азота, мг':'','Оксид азота ПДК':'','Диоксид азота, мг':'','Диоксид азота ПДК':'','Диоксид серы, мг':'','Диоксид серы ПДК':'','Сероводород, мг':'','Сероводород ПДК':'','Метан, мг':'','Метан ПДК':'','Сумма углеводородов, мг':''}

def get_place_date_time (string):

string_split = string.split(sep=' ')

data_fileds['Место'] = string_split[0]

#data_fileds['Дата'] = string_split[1]

#data_fileds['Время'] = string_split[2]


def save_screenshot(string):

# определяем начальные координаты найденного окна

location = data.location

# получаем размеры найденного окна

size = data.size

# сохраняем скриншот всей страницы

FullPageScreenshot = now.strftime("%Y-%m-%d-%H-%M-%S")+string+'.png'

path = 'C:/Python/'

browser.save_screenshot(path+FullPageScreenshot)

# вычисляем аргументы для передачи в функцию по обрезке скриншота

x = location['x']

y = location['y']

w = x + size['width']

h = y + size['height']

# открывает скриншот страницы

fullImg = Image.open(path+FullPageScreenshot)

# вырезаем нужную часть изображения

cropImg = fullImg.crop((x, y, w, h))

cropImg.save(path+'_'+FullPageScreenshot)

os.remove('C:/Python/'+FullPageScreenshot)


#------------------------------------------------------------------------------------

browser = webdriver.Chrome('chromedriver.exe')

browser.set_window_size(1200, 1000)

browser.get('http://ecomap.orb.ru/map/')


#текущее время

now = datetime.datetime.now()

for q in skat_list_ID:

try:


#обработка Красный Коммунар-2, клик по координатам из-за близкого расположения рядом 2 СКАТов на карте

if q == 20:

sleep(3)

ActionChains(browser).move_by_offset(645, 330).click().perform()

sleep(3)


# ищем открывшееся после клика окно с данными о ПДК

data = browser.find_element_by_xpath('//*[@id="map-107868-overlays"]/div[2]/div')

save_screenshot('kk2')

btn_close = browser.find_element_by_class_name("v-window-closebox")

btn_close.click()

sleep(1)

browser.refresh()

else:


#поиск следующей точки и ее центрирование на экране

sleep(2)

element = browser.find_elements_by_xpath ("//*[@id='map-107868']/div/div[2]/div/div[2]/div/div/div[1]/div/div/div/div/div/div/div[1]/div/div/div[1]/div[4]/div")

pag.moveTo(600,500)

pag.scroll(-500)

sleep(2)


#установка видимого курсора над выбранным элементом

canvas_x_offset = browser.execute_script("return window.screenX + (window.outerWidth - window.innerWidth) / 2 - window.scrollX;")

canvas_y_offset = browser.execute_script("return window.screenY + (window.outerHeight - window.innerHeight) - window.scrollY;")

pag.moveTo (element[q].rect["x"] + canvas_x_offset + element[q].rect["width"] / 2,

element[q].rect["y"] + canvas_y_offset + element[q].rect["height"] / 2)

sleep(1)

pag.scroll(700)

sleep(2)

element[q].click()

sleep(2)


#обработка информации со СКАТа


#ищем открывшееся после клика окно с данными о ПДК

data = browser.find_element_by_xpath('//*[@id="map-107868-overlays"]/div[2]/div')


#перевожу полученные данные в текст

sensor_data = str(data.text)

sensor_data_string = sensor_data.splitlines()


#получаю название населенного пункта, дату и время

get_place_date_time (sensor_data_string[0])

save_screenshot(data_fileds['Место'])

btn_close = browser.find_element_by_class_name("v-window-closebox")

btn_close.click()

sleep(1)

browser.refresh()

except Exception as ex:

print ('Исключение: '+ str(ex))

browser.refresh()

browser.quit()

Показать полностью
[моё] Программирование Python Selenium Экология Гражданская позиция Длиннопост
46
mark.ares
3 года назад
Лига тестировщиков

Прошу совет/подсказку для тестировщика веба⁠⁠

Народ всем доброго дня, подскажите плиз, не так давно перешел из одной сферы деятельности в тестировщики. Основная масса работы сейчас связана с двумя вещами:
1. Сравнение макет/верстка

2. Функциональное тестирование веб сайта

По 1 пункту сейчас делаю вялые попытки написать автоматизацию, в принципе первый результат есть, осталось довести до ума.
По 2 пункту я так понимаю сейчас самый топчик это юзание selenium ? по модели POM я верно понимаю?

Просто хочется услышать ответ от людей с опытом, может есть еще какие либо вкусняшки?

[моё] Тестирование Совет Selenium IT Текст
23
0
TopcatRu
4 года назад

Использование XPath и CSS в автотестах⁠⁠

Использование XPath и CSS в автотестах Программирование, IT, Юмор, IT юмор, Тестирование, Selenium, Длиннопост
Использование XPath и CSS в автотестах Программирование, IT, Юмор, IT юмор, Тестирование, Selenium, Длиннопост
Использование XPath и CSS в автотестах Программирование, IT, Юмор, IT юмор, Тестирование, Selenium, Длиннопост

Мой инстаграм-аккаунт: https://www.instagram.com/_enjoy.it_/

Показать полностью 3
[моё] Программирование IT Юмор IT юмор Тестирование Selenium Длиннопост
14
23
fsoc
fsoc
4 года назад
Программирование на python

Что бы такое запарсить .. ??⁠⁠

Добрый день всем :)

Введение:


Не так давно столкнулся с ситуацией, которая в принципе натолкнула меня на написание этой программы (если это можно так назвать и вообще если можно назвать меня программистом)

Я большой любитель компьютерного железа и частенько закупаю в одном из желтых магазинов у дома с эмблемой инопланетянина. Но копаться на сайте мне порой лень либо времени нет - не беда , прайс лист есть , сортирую по ценнику и поехал скупать , но нет , с недавних пор dns убрали прайс листы , так же на сайте всячески используются подгруздки данных через js процедуры .

Решил найти в интернете парсер , вся информация которая есть либо 2018-19 года с вопросами "а что то не получается " или "больше не актуально , не работает" а так хотелось найти рабочий парсер на Python .


Не так давно я начал проходить тестирование UI интерфейсов и решил с помощью Selenium на Python реализовать парсер.

2 часа мучений и добиваемся такого результата :


Что бы такое запарсить .. ?? Python, Программирование, Selenium, Парсинг

Ссылка на код :

https://github.com/tagunzet/selenium_dnsshop_parser



Теперь вопрос , есть идея такая , создаю web сервис на Flask/Django и создаю микро-сервис который будет помогать пользователю подобрать технику по его параметрам .

Например мы хотим подобрать телефон , выбираем критерии к примеру :


Пол

Возраст

Для каких целей

Цена

И т.д.


Далее получаем список критериев на основе чего делаем подбор техники и советуем пользователю .


Плюсы сервиса : Если это будет кому то нужно кроме меня , то это поможет человеку без обращения за помощью к своим близким / дальним знакомым / родственникам получить помощь в подборе техники .


Конечно можно на первое время сделать подбор на основе ручного анализа (через словари к примеру)


А по мере развития уже автоматизировать процесс через обучение.

Ну как, стоит ли?

Показать полностью 1
[моё] Python Программирование Selenium Парсинг
27
788
amsbr
amsbr
4 года назад
Эмиграция, адаптация, жизнь

Как я сдавал на права в Торонто⁠⁠

Расскажу, как я учился ездить. Если кто-то из подписчиков помнит, то мы с женой переехали в Торонто примерно 3 года назад.


Система в провинции Онтарио такая, что вы приезжаете если совсем без иностранных прав, то получить можете только ученические права. Сначала надо сдать письменный экзамен, он несложный, там всего несколько вопросов, всё легко тренируется через интернет на сайтах с вопросами. Вы платите деньги за экзамен, сдаёте его, вам также проверяют остроту зрения (можно в очках) и периферийное зрение специальным приборчиком, и присылают на почту на дом ученические права категории G1. Но водить самостоятельно вы с ними не можете, обязательно нужно, чтобы рядом с вами сидел эксперт с правами Full G, получаемыми после экзамена с трассой, и опыт не меньше 4 лет.


И самое неудобное, это то, что вы можете сдавать на более самостоятельные права только спустя 8 месяцев — год с момента получения G1. Наверное, это имеет смысл в отношении подростков, которых родители потихоньку в течение года учат ездить на своих пикапах, но в отношении взрослых иммигрантов не вижу ни малейшего смысла. Ученический G1 я сдал давно, вскоре после приезда, но ездить не умею, а пандемия намекнула, что в городе в ближайшие годы может быть не так интересно, как за его пределами, поэтому надо учиться вождению.


Поиск вариантов показал, что инструкторы что официальные, что неофициальные просят за свой труд более-менее одинаково, цены у любого типа инструкторов начинались в 2020 году от 35 канадских долларов в час и заканчивались примерно 60, кто себя особенно ценит. Я сразу записался на сдачу через примерно 3 месяца — очередь большая, потом много кого прозвонил, и остановился на официальном русскоязычном инструкторе за 40 долларов. Кстати, даже по меркам 2020 года это немного, так что если будете сдавать в будущем, то на такую стоимость особо рассчитывать не приходится.


Выбрал его, потому что разговор по телефону оставил хорошее впечатление, ну а русскоязычный потому, что мне кажется, многие русскоязычные люди очень ответственные. Кто-то скажет, что это нездоровый патриотизм, но извините.


На первой же встрече инструктор почему-то начал говорить со мной на английском. Я ничего против английского не имею, но когда два русскоязычных человека общаются на английском на бытовые темы, меня посещает ощущение некой нелепости. Некоторое время он мне говорил что-то на английском, а я невозмутимо отвечал ему на русском. В конце концов он не выдержал и уточнил, не желаю ли я общаться на русском, на что я ответил, что для терминов вроде “поверни налево” и “тормозни тут”, конечно, английский полезен в целях экзамена, но для остального можно обойтись.


Инструктор старался оказывать сервис высокого класса. Каждый раз он предлагал воспользоваться бесплатной бутылочкой воды, никогда не орал и не грубил напрямую. Но почему-то каждый раз я заканчивал занятие с неприятным чувством, будто меня считают за идиота, и не было понимания того, что ещё нужно освоить. Однажды по дороге он обронил историю, как к нему записалась идеальная женщина — было ей за 60, опыта вождения ноль, и она занималась с ним целый год, торопиться ей было некуда, зато экзамен сдала по высшему пилотажу.


Примерно на такой ноте я бросил этого профессионала своего дела, до экзамена оставался месяц, но уверенности не прибавлялось.


Проблема в том, что никогда не знаешь, на кого нарвёшься, и высокая цена за час не залог качества. Конечно, если б быть уверенным, что вот заплатишь ты 50-60, и будет ого как круто, но опыт подсказывал, что ценообразование работает немного иначе. Поэтому я решил рискнуть и записался на следующий урок к человеку, который просил 35 долларов.


По телефону он показался слегка офигевшим, когда в напутствие назвал меня почему-то Архимедом. Но в живую оказался крутой мировой мужик, не могу сказать про него ничего отрицательного, не смотря на некоторую между нами разницу. А ещё его можно назвать очень хрестоматийно русским. Он четверть века прожил в Канаде и особо никуда не ездил даже, даже зубы делал в Торонто, а это очень дорого. Но многое в нём олицетворяет современную российскую культуру — в отличие от первого инструктора, этот ругался матом и отпускал пограничные шутки, но, парадокс, — я ни разу не чувствовал, что он считает меня идиотом, а то, что он ругался матом, обычно было заметно, что не со зла, а от избытка эмоций. Позже он постоянно раскаивался и пытался сгладить эффект.


А ещё у него имелась в наличии типично русская душевная боль и тоска, не эксклюзивно русская, но та самая, характерная для классиков. С ним было интересно разговаривать “за жизнь”. Мне кажется, он брал за уроки поменьше денег, потому что основные задачи были решены, и за текущими расценками не следил, а потому даже не знал, что сейчас 35 уже почти никто не просит. Но решённые задачи не освобождали от той самой вселенской тоски. Он говорил, что иногда теряет смысл происходящего — вот приходишь домой, и не понимаешь, зачем всё нужно, не хватает какой-то глобальной цели в жизни. От этой бессмысленности он спускал часть свободных денег в карты онлайн, и его тянуло прибухнуть. Естественно, в будние дни он держался, но пятница у него была зарезервирована как возможность выпить, поэтому по пятницам занятий у нас не было. А ещё я думаю, что тоска была одной из причин, отчего ему нравилось работать инструктором — с каждым новым ученика он обретал промежуточную мини-цель, когда нужно пройти экзамен.


В общем, очень классически русский “нормальный” мужик, и не дурак. Я спрашивал его, как ему в Канаде — он отвечал, что жаловаться не на что. Его погодки сейчас в России получают копеечную пенсию, а у него самого почти бесплатное жильё (он проживал в социально-субсидированном доме), пенсия (плюс добавка по здоровью), медицина (кроме зубов), вокруг природа, езди каждую неделю на рыбалку, рыбы много, наловишь, накоптишь. На всё хватает, но ничего не нужно.


Мы занимались с ним до экзамена, и в день Х приехали с ним в центр сдачи в октябре. Это был как раз период между двумя волнами COVID, и снова стали объявлять, что количество заражённых растёт. Я со дня на день ожидал, что провинцию обратно заблокируют, а водительские центры закроют, поэтому сдать в этот день казалось единственным шансом, ведь если не сдать, то сделать бронь можно будет только на много месяцев спустя, возможно, на декабрь, а то и на январь, а там точно всё будет закрыто (в этом смысле я не ошибся).


Из чего состоит экзамен: обычно надо выехать на трассу, показать, что меняешь полосы по требованию, проехать через светофоры, свернуть в переулок, там сделать “параллельную парковку” задним ходом, потом сделать разворот на трёх точках и обычную парковку, и вернуться назад “на базу” через светофоры и смену полос. Экзаменатор в этот момент сидит и считает твои ошибки — в основном нужно не затупить и не накосячить по-крупному.

Взяв бумажку в центре, я сидел в машине и ждал экзаменатора, который случайным образом в порядке доступности назначается на каждую заявку. Как назло в этот момент налетела жёсткая буря, ветер стать хлестать дождём, дорога вымокла, хотя ещё минут 15 до этого дождичком едва пахло. И как раз в этот момент подошёл мой экзаменатор. Проверил фары, сел в машину, и сказал, чтобы мы ехали.


Кстати, ниже на картинке можно видеть, что небо синеет ещё в момент ожидания в очереди. Слева это вход в DriveTest Centre, а справа там парковка.

Как я сдавал на права в Торонто Торонто, Канада, Вождение, Права, Водительские права, Экзамен в ГИБДД, Экзамен, Северная Америка, Selenium, Онтарио, Длиннопост

Я сдавал на Downsview, причём по многим отзывам это заявлено как лучшая и самая понятная локация по маршруту в Торонто. Надо сказать, что выезжать по хорошей погоде оттуда для новичка не сильно приятно, потому что там невпроворот машин и толчея людей, снующих для сдачи на небольшой парковке. А с дождём так просто всё встало, и видимость сильно снизилась.


Еле мы выбрались и подобрались к светофору, как лобовое стекло из-за перепада температуры начало запотевать изнутри, и запотело так сильно, что стало вообще ничего не видно нигде. Пока я лихорадочно соображал, как с этим быть, экзаменатор повернулся ко мне и спросил: “И что ты будешь с этим делать, что ты будешь со всем этим делать??” Пока я соображал, он стукнул по кондиционеру, и стёкла прояснились. “Хм, ну я бы до такого точно не додумался, ведь я даже ни разу не включал кондиционер”, — подумал я. “Поехали дальше”, — сказал он. И мы поехали.


На мой взгляд, проехали мы отлично, я сделал основные перестроения и манёвры без значимых погрешностей, только в самом конце обратно на стоянке экзаменатор заругался, что я поздно включил поворотник. И объявил мне, что вот этот поворотник является решающим в его заключении, и экзамен я сегодня не сдал. Критичных ошибок не было, но в форме списка недочётов он накидал много мелких ошибок, таких как “заносит на поворотах” и “поздно включает сигнал поворота”, которые в сумме превысили допустимый предел.

Расстроились и я, и инструктор. Основная проблема с экзаменом (помимо того, что он стоит денег: сам экзамен и инструкторская машина в аренду) — это то, что свободных слотов на ближайшее время нет вообще. Ближайшие свободные слоты были открыты на декабрь, но на декабрь-январь я не хотел бронировать, потому что ехать зимой ещё труднее, да и очевидно, что всё заново закроют, когда пойдёт COVID. Более того, не только закрыты все слоты в Торонто, они закрыты даже в ближайших городах. Люди ездили в Oshawa и Newmarket, но слотов не было даже там.


И тогда инструктор мне тихонько сказал:


— Есть, короче, тут один способ такой...

— Что за способ?

— Есть у меня один товарищ... Умный, очень умный, программист. Он сделал систему, которая там как-то подключается и находит тебе слот. Просит 50 долларов за каждую бронь.

— И что, гарантированно находится бронь?

— Гарантированно. Как только кто-то отменяется, а это происходит постоянно, товарищ сразу видит этот слот и занимает его. Он уже состояние себе на этом сделал.


Умный товарищ, одним словом.


— Неплохо, — сказал я.

— Можем сброситься по 25 долларов даже.

— Ого. Ну давайте подождём немного, и там посмотрим, всё равно нужно ждать 2 недели до следующей попытки.


25 или даже 50 долларов за такой сервис это максимально оправданные деньги. Я даже удивлён, что цена такая низкая, явно она не учитывала COVID-ную загрузку. Даже если бы слоты были в соседнем городе, том же Newmarket, то выходило ничуть не лучше с учётом времени на поездку и сопровождающих расходов.


Подключаться к базам я не умею, поэтому решил просто последить за ситуацией, периодически заглядывая на сайт бронирования, для чего требовался рутинный набор действий. И тут я вспомнил, что народ рассказывал про некий Selenium, с помощью которого можно автоматизировать работу в браузере, захотелось попробовать. Посмотрел пару видео, оказалось на базовом уровне всё очень просто, достаточно несложного скрипта. Основная проблема была это учесть корявости сайта, когда нужно перелогиниваться, и что делать, если найден вариант — ведь надо срочно бежать доставать карточки и бронировать. Для этого я поставил просто голосовое уведомление, что, мол, “найден вариант” и запустил шайтан-машину.


Она крутилась день, крутилась два. Какие-то варианты попадались, но моментально исчезали. “Товарищ бронирует напрямую в базе”, — решил я, — “а может там даже он не один такой. Поймать ничего вменяемого просто невозможно”. Но уже в субботу я поймал вариант, готовый к бронированию, сделал предбронь и позвонил инструктору, чтобы убедиться, что всё в порядке и машина будет свободна. Но инструктор не отвечал. “Наверное, справляется с экзистенциальной тоской”, — подумал я, и бронь слетела. В понедельник мы всё-таки созвонились, и я поймал ещё одну бронь, с экзаменом сразу на вторник.


Так неожиданно быстро у меня оказался назначен новый экзамен, и всё заново — куча машин, снующие люди, лёгкий мандраж, критические заметки инструктора по поводу настоящего времени.


— А ты молодец, подключился к базе. Можем продавать брони по 40, сдемпингуем товарища.

— Да я не подключался, это так, трудозатратная имитация.

— Что ж, посмотрим сегодня. Раньше большинство нормальные были, а сейчас понабрали новых, они всех валят, в прошлый раз вон тебя индус завалил. Хотя сами ездить не умеют.

— А вы почему в экзаменаторы не пошли?

— Хотел, но не берут, сволочи. Как акцент мой слышат, то всё, никуда, ты не местный. Всех нормальных выжили, понабрали девок со вчерашнего колледжа и индусов. Остался один нормальный только, бородатый мужик, вот к нему б ты попал, точно сдал бы.


И вдруг к нам подходит бородатый мужик и говорит: “Сегодня я твой экзаменатор”. “Это он и есть, вот свезло так свезло”, — воскликнул инструктор.


Проехали мы нормально, хотя я немного косячнул, не пропустив машину, когда стоило бы. Вернувшись обратно, еле влезли в парковочное место, и экзаменатор сказал:


— Н-да, даже не знаю, что сказать.

— Всё так плохо?

— Всё ещё хуже.

— Будет трудно пересдать, всё забронировано.

— Да, сочувствую тебе, незавидное положение, всё забронировано по январь, да и вообще.

— ...

— Да ладно, я шучу, сдал ты сегодня.


И выбежал из машины.


Так я и получил G2.

Показать полностью 1
[моё] Торонто Канада Вождение Права Водительские права Экзамен в ГИБДД Экзамен Северная Америка Selenium Онтарио Длиннопост
112
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии