【问题标题】:How to get the downloaded file name? (Selenium)如何获取下载的文件名? (硒)
【发布时间】:2022-01-01 16:42:28
【问题描述】:

HTML 代码:

<a target="_blank" class="truncate-text" id="rfq-display-attachment-0">
          BEHR SDS.pdf
        </a>

我正在下载这个链接:

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;a&gt; 标签的文本?

【问题讨论】:

  • 可以取文字,然后替换下载文件的名称
  • 如何替换??重命名下载目录中的文件?
  • 是的,这就是我能想到的。如果您对该解决方案感兴趣,请告诉我,我可以为您提供答案。
  • 我不认为这是可能的,因为这段代码经过了很多循环,而且还有try except块,如果没有找到这个链接,我已经设置为``空字符串。跨度>
  • 我认为修剪.1637344008787 部分就足够了,因为每个文件名都只有这种类型的部分。

标签: python python-3.x selenium selenium-webdriver web-scraping


【解决方案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)

现在我已经硬编码了文件名,你应该去目录寻找最新下载的文件。

【讨论】:

    猜你喜欢
    • 2015-09-08
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多