Python——selenium自动点击下载腾讯文档

2021/10/2 12:40:09

本文主要是介绍Python——selenium自动点击下载腾讯文档,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

成功属于有准备的人
腾讯文档使用selenium方法点击下载,早前写的,现下网页格局可能有所改变。
代码基本都有注释。
那时刚入坑不久,代码不好看还望见谅。

from bs4 import BeautifulSoup
from selenium import webdriver
import traceback
import time
import numpy
from selenium.webdriver.common.action_chains import ActionChains

# 登录网站
driver = webdriver.Chrome()
driver.get('https://docs.qq.com/desktop/templates-list.html?padtype=0&_wv=2&_wwv=512')
time.sleep(3)
# 自动点击登录
ActionChains(driver).move_by_offset(508, 422).click().perform()
time.sleep(2)
# 格式化的获取页面代码
data = driver.page_source
# driver.minimize_window()  # 将窗口置为最小化,暂时实现不了,click不到东西
# 循环队列
a = numpy.arange(0, 201, 1)
# 循环参数
i = 73
# 超时参数
b = 0
# 循环点击各个模板
while i in a:
    time.sleep(1)
    dianji = driver.find_elements_by_class_name("sub")
    print(i)
    # 获取当前网址,以供判断
    url1 = driver.current_url
    time.sleep(0.5)
    dianji[i].click()
    time.sleep(1)
    # 等待加载
    data1 = driver.page_source
    # 再次获取网址,以供判断
    url2 = driver.current_url
    # 判断是否超时
    if url1 != url2:
        # 判断是否需要VIP
        try:
            # 点击
            button1 = driver.find_element_by_id("main-menu-file")
            button1.click()
            time.sleep(0.5)
            # 点击
            button2 = driver.find_element_by_xpath("//li[text()='导出为']")
            button2.click()
            time.sleep(0.5)
            # 点击
            button3 = driver.find_element_by_xpath("//li[text()='本地Word文档(.docx)']")
            button3.click()
            time.sleep(2)
            # 返回上一页
            print("下载成功")
        except Exception as e:  # 得到未知错误时输出e
            print("需要VIP")
        # 返回上一界面
        driver.back()
        # 参数相加
        i = i + 1
    else:
        # b参数阈值可以自行设置,合理即可
        if b <= 10:
            print("超时")
            time.sleep(1)
            b = b + 1
        else:
            # 腾讯文档可能出错,点击文件时一直显示超时(例如73号),避免程序无限循环所作判断
            print("同以文件超时过多次,文件可能出现问题,执行下一文件")
            b = 0
            i = i + 1
# 退出
driver.quit()



这篇关于Python——selenium自动点击下载腾讯文档的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程