Как получить загруженное имя файла? (Селен)

#python #python-3.x #selenium #selenium-webdriver #web-scraping

Вопрос:

HTML-код:

 lt;a target="_blank" class="truncate-text" id="rfq-display-attachment-0"gt;  BEHR SDS.pdf  lt;/agt;  

Я загружаю эту ссылку:

 link1 = driver.find_element_by_xpath("//a[@id='rfq-display-attachment-0']") filename = link1.text link1.click()  

В соответствии с этим, имя файла будет BEHR SDS.pdf , но после загрузки файла имя файла загруженного файла будет BEHR SDS.1637344008787.pdf . Здесь имя в тексте и фактические имена файлов различаются.

Как получить точное имя файла в этом случае? Мне не нужен текст lt;agt; тега?

Комментарии:

1. Вы можете взять текст, а затем заменить имя загруженного файла

2. как заменить?? переименование файла в каталоге загрузки?

3. Да, это то, что я могу придумать. Дайте мне знать, если вы заинтересованы в этом решении, я могу дать вам ответ.

4. Я не думаю, что это возможно, потому что этот код проходит через множество циклов , а также есть try except блоки, если эта ссылка не найдена, я установил как «» пустую строку.

5. Я думаю, что обрезки .1637344008787 детали достаточно, так как каждое имя файла содержит только этот тип детали.

Ответ №1:

Основываясь на комментарии OP выше, что,

 I think trimming the .1637344008787 part is enough since every file name has this type of part only.  

Вы можете сделать следующее:

 a = "BEHR SDS.1637344008787.pdf" orginal_file_name = a.split('.')[0]   '.pdf' print(orginal_file_name)  

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