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()

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PythonSelenium是一对强大的自动化测试工具。Python是一种流行的编程语言,而Selenium是一个用于自动化浏览器的测试框架。Selenium WebDriver是Selenium 3.0的一部分,它提供了一组API来模拟用户在浏览器中的各种行为,如打开网页、查找元素、输入文本、点击链接、提交表单、上传文件等。Python SeleniumSelenium WebDriver的Python语言封装,为Python开发者提供了一个方便易用的自动化测试库。它支持多种浏览器和操作系统,使得开发人员可以使用Python脚本来进行Web端的自动化测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [自动化测试之Python+selenium](https://blog.csdn.net/weixin_56349063/article/details/121227289)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Python_Selenium自动化测试详细教程](https://blog.csdn.net/qq_45664055/article/details/128343454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [python+selenium自动化入门.ppt](https://download.csdn.net/download/qq_43934844/87893502)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值