Использование селена в python для загрузки файлов на основе имен файлов из Ambari (HDFS) - PullRequest
0 голосов
/ 30 января 2020

Я хочу иметь возможность загружать все CSV-файлы по указанному пути в программе просмотра файлов Ambari с определенным именем файла.

т.е. открыть программу просмотра файлов ambari в google chrome, войти в программу просмотра файлов ambari с помощью имени пользователя и пароля перейдите к указанной папке в ambari, загрузите все соответствующие файлы csv на основе имени файла, используя подстановочные знаки (например, file_ _20191231 .csv), поместите файлы в указанную windows папку

1 Ответ

0 голосов
/ 30 января 2020

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

Шаг 1: Исследуйте Selenium и попрактикуйтесь в таких вещах, как вход в социальную сеть или другую учетную запись в Интернете.

Шаг 2: В частности, посмотрите на раздел для определения элементов по id, классу и xpath. Проверьте html Ambari и посмотрите, кажутся ли идентификаторы или классы надежными для элементов, с которыми вам нужно взаимодействовать (ie. Поля имени пользователя и пароля). Используйте xpath, если необходимо.

Шаг 3: Найдите столбец / контейнер, в котором отображаются файлы, и создайте al oop, чтобы извлечь текст из каждого контейнера. При необходимости добавьте нумерацию страниц.

Шаг 4: используйте python, чтобы прочитать каждый текст по мере его просмотра, если он содержит нужную вам подстроку, попросите селен щелкнуть правой кнопкой мыши по элементу, который он только что посетил, и загрузить (или нажмите соответствующую кнопку загрузки, если она доступна).

Шаг 5. Переместите файл из папки загрузок в нужную папку на вашем компьютере с помощью os и shutil. Есть еще один поток об этом здесь

PS Вам понадобится совместимый chromedriver.exe для запуска селена с chrome. Снова, посмотрите селен документы , чтобы узнать больше о python -селен и его настройку.

Надеюсь, это поможет

...