自动下载,无需下载

2024-04-25 21:06:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从一个网站下载一个文件,该网站使用Python中的selenium。我使用ChromeWebDriver来做以下事情

  • 我单击按钮下载数据集,并添加一个隐式waittime.sleep(4),以等待下载开始
  • 然后我为下一个数据集选择一个下拉列表。你知道吗

问题是,当文件下载开始时,下载栏会弹出,窗口会调整大小。这会触发一个javascript代码,刷新页面以修复UI。因此,下拉选择有时发生在页面刷新之前,这会导致代码在刷新之后停止。你知道吗

这些是我能想到的可能的解决办法

  • 增加隐式等待时间(效率低下,必须使用隐式等待。无法等待某个元素可见,因为同一页上重新加载了相同的元素)
  • 在整个webdriver配置文件中禁用javascript(我需要它来加载其他元素,而且由于它的限制,我无法将参数传递给webdriver)
  • 在类似于this答案的单独窗口中下载文件(同样,效率低下)
  • 立即按Ctrl+J跳过弹出的浏览器下载栏(Browser shortcuts are not working with the chrome webrowser

我对自动化测试有点陌生,所以您可能有任何其他想法都会有所帮助。你知道吗


Tags: 文件数据代码元素网站seleniumsleep页面