0
点赞
收藏
分享

微信扫一扫

python实现自动化下载所需url-apk文件

承蒙不弃 2022-01-05 阅读 19

需求

1.有一个url地址,在网页中输入,就可以下载apk/ipa等文件
2.数据量太多,人工操作,不仅要大量点点点,还浪费时间
3.使用python+webdriver实现自动化读取excel中的数据并自动下载文件

实现过程

from selenium import webdriver
import time
from selenium.webdriver.common.by import By
import xlrd

# url地址是拼接的,分为2段,第一段是固定值,作为全局参数
url1 = "https://txdeteyy.ijiami.cn:4442/"

def open_browser(urls):
    driver = webdriver.Chrome()
    driver.maximize_window()  # 最大化打开chrome
    driver.get("https://www.baidu.com/")
	# 使用js打开新窗口
    js = 'window.open(url)' 
    driver.execute_script(js)
    handles = driver.window_handles
    # 切换到新窗口
    driver.switch_to.window(handles[-1])
    time.sleep(2)
    driver.get(url1 + urls) # 完成url地址,注意此处的值类型需要保持一致
    driver.get("https://weibo.com/")
    # 防止一个文件还未下载完成,此处加上强制等待
    time.sleep(50)
    # 不能关闭浏览器,关闭后,下载会停止
    # driver.close()
    # driver.quit()

# 读取excel数据
def read_excel_app():
    # 打开文件
    workbook = xlrd.open_workbook(r'E:\\检测样本app共享\\tx_apks_导出\\more_apps.xls')
    # 获取所有sheet表
    print(workbook.sheet_names())
    # 方式一:获取所需sheet表
    # sheet_name1=workbook.sheet_names()[0]
    # 方式二:获取所需sheet表
    sheet1 = workbook.sheet_by_name('Sheet1')
    # 获取第一列内容
    cols = sheet1.col_values(0)
    # 获取第3行内容
    rows = sheet1.row_values(1)
    # app_data = sheet1.cell(r, c).value
    # 获取单元格内容的三种方法
    print(sheet1.cell(0,0).value)  # cell(行,列)

    list_app = []
    for i in range(sheet1.nrows):
        app_data = sheet1.cell(i, 0).value
        print("我现在读取excel中的APP是:", app_data)   # 返回的是单个数据,str格式
        open_browser(app_data)
        list_app.append(app_data)
        # print(list_app)

    return app_data
    # return list_app

# 调用函数
a = read_excel_app()

可自动配置脚本后台静默执行

数据准备

excel中提前准备好的第二段数据
在这里插入图片描述

执行结果

在这里插入图片描述

下载完成的文件,默认在C盘,若需改动,则可配置chrome-dr
在这里插入图片描述

举报

相关推荐

0 条评论