python - 在 python 中使用 selenium 根据来自 Ambari (HDFS) 的文件名下载文件
问题描述
我希望能够在 Ambari 文件查看器中的指定路径中下载具有特定文件名的所有 csv 文件。
即在 google chrome 上打开 ambari 文件查看器,使用用户名和密码登录 ambari 文件查看器,导航到 ambari 中的指定文件夹,使用通配符根据文件名下载所有相关的 csv 文件(例如 file_ _20191231 .csv),将文件放在指定的 windows 文件夹
解决方案
似乎非常可行,但我不确定您的问题是什么,而且我不熟悉 Ambari。为了解决这样的项目,我建议采取以下步骤:
第 1 步:研究Selenium并练习登录社交媒体或其他网络帐户等操作。
第 2 步:具体查看通过 id、class 和 xpath 识别项目的部分。检查 Ambari 的 html 并查看 id 或类对于您需要与之交互的元素(即用户名和密码字段)是否可靠。如果必须,请使用 xpath。
第 3 步:找到显示文件的列/容器,并创建一个循环以将文本从每个容器中提取出来。如果需要,添加页面分页。
第 4 步:使用 python 在查看时读取每个文本,如果它包含您想要的子字符串,请让 selenium 右键单击它刚刚访问的元素并下载(或单击相应的下载按钮,如果可用)。
第 5 步:使用 os 和 shutil 将文件从您的下载文件夹移动到您机器上所需的文件夹,这里有另一个关于这样做的线程
PS 你需要一个兼容的 chromedriver.exe 来运行 selenium 和 chrome。同样,查看selenium 文档以了解有关 python-selenium 和设置它的更多信息。
希望这可以帮助
推荐阅读
- java - 是否可以通过okHttpClient模仿浏览器?
- excel - 什么 vba 代码在 visio 中打开 .vsdx 文件(在 excel 中运行 vba)
- hive - 有人可以向我解释以下 Hive (0.13) 行为吗?
- android - 相机生成文件中的 java.lang.IllegalArgumentException
- pandas - 平均日期熊猫
- sql - 从出现在 Oracle Sql 中特定单词之前的句子中获取一组单词(字符和非字符用空格分隔)
- c - C语言整数存储的二叉树
- vue.js - 我的 Vue webapp 的 browserslistrc 应该是什么样子才能支持非常旧的 Safari 版本?
- powerbi - 为最后一个已知值关联多个表中的数据
- bash - 停止在逗号前插入换行符