Доброго времени суток! В веб программирование и понимании его технологий я практически ничего не знаю, в основном пишу на java для андроид. Работаю на виндовс.
Это всё сделано:
Задача такая: Одновременно открыто два сайта, на одном я копирую нужный ID в буфер обмена жму горячие клавиши (программа на java слушает глобально клавиатуру, реализовано с помощью библиотеки jnativehook) и jsoup парсит сайт, нужные данные записываю в буфер обмена. Захожу на второй сайт и в поля делаю вставки, алгоритм по очереди помещает в буфера обмена нужный мне текст.
Не сделано:
Автоматизировать вставку на втором сайте.
Так как перед сохранением результата, я его должен проверить, я думал написать UI, где будут все поля сайта, куда сделается сразу вставка и после проверки я сохраню введенное (после сохранения назад пути нет, удалить нельзя), для этого я должен был понять какие запросы выполняет сайт для сохранения введенной информации, но сайт пропитан javascript’ами как я понял. Кстати сайт bpmonline.com (CRM система). И запросы сайта выполнить с помощью jsoup я не могу…
Т.е. второй сайт парсить с помощью jsoup я не могу, а мне нужно с него получить значение одного поля, чтобы добавить его к тексту, который будет вставляться.
И теперь две проблемы, одна как получить с сайта информацию и как сделать вставки.
Мои идеи, попытки,мысли: Поправьте мои предположения.
Сперва о вставках. мне говорили, что можно написать расширение для браузера, которое будет делать вставку, но тут у меня появилось два вопроса: увижу ли я текст, который появился в полях, чтобы его проверить перед сохранением? как передать расширению текст? Посмотрел возможности расширений и понял, что оно может в области окна браузера слушать клавиатуру и может обратиться к буферу обмена. Сможет ли оно сделать вставку текста, так чтобы я увидел это?
Так же мне предложили использовать webdriver. Как я думаю он сможет распарсить второй сайт и сможет произвести вставку в поля, но я не понимаю как правильно построить архитектуру приложения, чтобы webdraiver был активен всё время(он используется для тестов и завершает работу по окончанию) , чтобы в одном приложении слушать клавиатуру и по нажатию нужных клавиш webdriver производил вставку. Возможно ли заставить его ожидать нажатия, чтобы каждый раз не перезапускать драйвер?
И всё же мне кажется использование selenium webdriver громоздким решением. Проще наверно второй сайт парсить с помощью расширения для браузера и с помощью него же и производить вставку.
Подскажите как и с помощью чего решать данную задачу.