如何解决如何使用Selenium Python同时进行下载
我正在尝试使用Selenium / Python自动测试下载时间。我要进行手动测试的方法是打开5个选项卡,然后单击一个选项卡上的“下载”按钮,然后使用Cntrl-Tab快速移至下一个选项卡,单击“下载”,等等。
我已经到达创建代码的位置,要打开5个选项卡,但是当我在第一个选项卡中单击“下载”时,它等待文件完全下载,然后才能移至下一个选项卡。必须完全下载文件,然后代码才能移至下一行?
为了移至下一个选项卡,我尝试使用击键和切换Windows手柄。它们都可以工作,但是他们正在等待下载完成,而我希望所有下载都一起下载。
- 选项卡1-单击下载
- 移动到下一个标签页或切换窗口手柄
- 选项卡2-单击下载
- 移至下一个标签页或切换窗口手柄
- 选项卡3-单击下载
- 移动到下一个标签页或切换窗口手柄
- 选项卡4-单击下载
- 移动到下一个标签页或切换窗口手柄
- 选项卡5-单击下载
当先前的选项卡正在下载时,是否无法在以下选项卡上单击“下载”?
我需要为此使用多线程吗?
非常感谢您。
解决方法
我认为进程池将非常适合您的情况。
这是摘要
from concurrent.futures import ProcessPoolExecutor
def download_from_tab(tab_num):
pass
with ThreadPoolExecutor() as executor:
for tab_num in range(number_of_tabs):
_ = executor.submit(download_from_tab,tab_num)
上面的代码将为每个选项卡打开一个新过程,并开始并行下载内容。
您可以在以下位置找到官方文档:https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ProcessPoolExecutor
还有一个很棒的视频,逐步显示了如何使用流程来实现这一目标:https://www.youtube.com/watch?v=fKl2JW_qrso
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。