大佬,我用OCR机器人在网页里点击按钮成功下载文件之后,怎么获取到这个文件,文件的路径能写死,但是?[阿里云OCR]

大佬,我用OCR机器人在网页里点击按钮成功下载文件之后,怎么获取到这个文件,文件的路径能写死,但是获取不到文件的名字?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 如果您用 OCR 机器人在网页中点击按钮成功下载了文件,但无法获取到文件名或路径,可能是由于以下几种情况导致的:

    1. 文件名未指定:有些网页下载按钮并不会指定文件名,而是默认使用一些通用文件名(如“download”、“file”等)。因此,如果您没有设定特殊的文件名,可能会导致无法获取正确的文件名。

    解决方案:可以尝试手动下载相应的文件,并查看其默认的文件名。然后在程序中设置相同的文件名即可。

    1. 文件名被修改:有些网页下载后的文件名可能会被修改,例如添加时间戳、随机值等来保证唯一性。这也会导致获取文件名出错的问题。

    解决方案:可以通过分析网页的 HTML 标签或响应头信息来获取真实的文件名。一般情况下,响应头信息中都会包含文件的 MIME 类型、大小、名称等相关信息,可以根据这些信息进行解析和处理。

    1. 下载路径不确定:有些网页可能会动态生成下载链接或下载路径,导致无法固定下载路径和文件名。这也会影响程序的下载和获取操作。

    解决方案:可以在程序中调用浏览器的下载功能,或者使用 HTTP 请求模拟下载操作。同时,建议对下载操作进行异常处理和错误提示,以便及时发现和解决问题。

  2. 您到RPA的官方群咨询哈,此回答整理自钉群“【官方】阿里云OCR公共云客户交流群”

  3. 在网页上进行OCR识别并点击按钮下载文件后,获取到的文件一般是通过浏览器的下载功能下载到默认下载文件夹中,而浏览器在下载文件时并不会直接告诉程序下载的文件名,因此需要通过程序读取下载文件夹中的最新文件名来获取到下载的文件名。

    可以用以下方法获取下载的文件名:

    1. 获取最新下载的文件的文件名 这里可以使用Python的os.listdir()方法获取到下载文件夹中的文件列表,然后按文件修改时间排序,取得最新的文件名。示例代码如下:

    import osdef get_latest_file_name(download_path):# 获取下载文件夹中最新的文件名list_of_files = os.listdir(download_path)latest_file = max(list_of_files, key=os.path.getctime)return latest_file

    1. 将获取到的文件名返回给程序中的变量或者传递给其他函数进行处理。

    需要注意的是,在下载文件时,如果需要指定文件名,可以使用requests库中的content-disposition属性,或者在浏览器开发者工具中查看请求响应中的Content-Disposition字段,从中获取到指定的文件名。

    另外,在获取下载文件名时,还需要注意下载后缀名和进行错误处理。