#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)
Теперь я жестко закодировал имя файла, вам следует перейти в каталог и найти последний загруженный файл.