Я использую Selenium и Python, чтобы попытаться автоматизировать тестирование CVs
, которые загружаются на сервер. Я понял все, кроме как загрузить папку файлов по одному (около 11 файлов) с различными типами файлов, например .odt, .doc, .docx, .pdf, .eml
. Я планировал переименовать файлы на что-то вроде 001.doc, 002.pdf
и так далее и использовать цикл для их загрузки один за другим, итерируя в for x in range(1, x)
и добавляя x
в PATH_TO_FILE = "Path\00" + x
, который дал бы "Path\001.file_type"
. Итак, главная проблема: могу ли я как-то загружать папку один за другим, не переименовывая их? Это резюме, и у них есть случайные имена. А также, как бороться с проблемой типов файлов, потому что они все разные. Я обнаружил, что единственным способом является send_keys для файла типа ввода для загрузки документа и для этого требуется абсолютный путь к файлу.Как загрузить произвольное количество файлов с разными типами файлов
Набор тестов, который я пытаюсь построить, очень грубый на данный момент, и мне удалось разобраться с элементами, использующими XPATH, но эта проблема загрузки оставила меня в тупике.
# Find browse button
browse_button = self.retrieve_browse_button
# Type in path to CVs
PATH_TO_CVS = "C:\\11MainTestCVS\\00"
for x in range(1, 12):
browse_button.send_keys(PATH_TO_CVS + x + file_type) # How to determine file type?
# Click load
xpath = "//a[contains(@href, 'javascript:submitCV()')]"
self.webdriver.find_element_by_xpath(xpath).click()
Спасибо много. Это определенно помогло. Теперь у меня есть набор абсолютных путей для исправления файлов с правильными расширениями и теперь можно отправить их для загрузки через метод send_keys безопасно. Я проверю и прочитаю больше о glob. – Contempt