如何获取下载的文件名? (硒)

Posted

技术标签:

【中文标题】如何获取下载的文件名? (硒)【英文标题】: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 部分就足够了,因为每个文件名都只有这种类型的部分。 【参考方案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)

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

【讨论】:

以上是关于如何获取下载的文件名? (硒)的主要内容,如果未能解决你的问题,请参考以下文章

如何从硒网站上获取时间?

如何获取硒的角度标签中存在的值[重复]

硒如何获取文本大小

硒如何在某些目标类中获取href的内容

如何使用硒悬停在komoot上并展开下拉菜单?

如何在没有 \n 的情况下从 txt 中获取特定行(Python)