Python Selenium 自动化查询禅道任务与 Bug 状态

拾光
拾光
发布时间:2026-10-14| 5人浏览过
原创

本文介绍如何使用 Python 的 Selenium 库封装常用操作,实现自动登录禅道并查询当前用户的任务、Bug 及需求状态。通过封装元素定位与交互方法,简化脚本编写,快速判断是否存在待办事项,适用于日常开发状态的自动化监控场景。

Python Selenium 自动化查询禅道任务与 Bug 状态

Python Selenium 自动化查询禅道任务与 Bug 状态

封装 Selenium 驱动

首先,需要对 Selenium 的浏览器驱动(driver)进行基础封装,以便统一管理浏览器配置和生命周期。


from selenium import webdriver

driver = webdriver.Chrome()
driver.set_window_size(1920, 1350)
driver.set_page_load_timeout(7000)
driver.set_script_timeout(7000)
driver.set_window_position(300, 50)

封装常用元素操作方法

其次,封装一系列常用的元素定位与交互方法,如通过 ID、名称或 XPath 获取元素、输入文本、点击或清空内容,以及获取元素文本等,以提高代码复用率和可读性。


def fe_id(driver, id, send_keys):
    e = driver.find_element_by_id(id)
    e.send_keys(send_keys)


def fe_name(driver, name, send_keys):
    e = driver.find_element_by_name(name)
    e.send_keys(send_keys)


def fe_xpath(driver, xpath, send_keys):
    e = driver.find_element_by_xpath(xpath)
    e.send_keys(send_keys)


def fe_id_click(driver, id):
    e = driver.find_element_by_id(id)
    e.click()


def fe_name_click(driver, name):
    e = driver.find_element_by_name(name)
    e.click()


def fe_xpath_click(driver, xpath):
    e = driver.find_element_by_xpath(xpath)
    e.click()


def fe_id_clear(driver, id):
    e = driver.find_element_by_id(id)
    e.clear()


def fe_name_clear(driver, name):
    e = driver.find_element_by_name(name)
    e.clear()


def fe_xpath_clear(driver, xpath):
    e = driver.find_element_by_xpath(xpath)
    e.clear()


def get_text_xpath(driver, xpath):
    e = driver.find_element_by_xpath(xpath)
    return e.text


def get_text_id(driver, id):
    e = driver.find_element_by_id(id)
    return e.text


def get_text_name(driver, name):
    e = driver.find_element_by_name(name)
    return e.text

代码实例与逻辑说明

接下来展示完整的代码实例,包括导入封装好的配置和工具函数,定义登录禅道并提取任务、Bug 及需求数量的逻辑。


from auto_selenium import config_selenium
from auto_selenium.fast_set import *
from time import sleep

driver = config_selenium.driver


# 看看禅道是否有任务
def chandao():
    driver.get('你的禅道地址')

    fe_xpath(driver, '//*[@id="account"]', '你的禅道帐号')
    fe_xpath(driver, '//*[@id="loginPanel"]/div/div[2]/form/table/tbody/tr[2]/td/input', '你的禅道密码')
    fe_xpath_click(driver, '//*[@id="submit"]')

    sleep(1)
    task = get_text_xpath(driver, '//*[@id="block102"]/div[2]/div/div[2]/div/div[1]/div[2]')
    bug = get_text_xpath(driver, '//*[@id="block102"]/div[2]/div/div[2]/div/div[2]/div[2]')
    need = get_text_xpath(driver, '//*[@id="block102"]/div[2]/div/div[2]/div/div[3]/div[2]')
    if int(task) > 0:
        print('有任务')
        return
    if int(bug) > 0:
        print('有BUG')
        return
    if int(need) > 0:
        print('有需求')
        return
    print('暂无任何内容')


if __name__ == '__main__':
    chandao()
    driver.close()

运行验证

最后,运行该脚本即可自动执行查询操作,验证功能是否正常。

运行效果如图所示。

至此,关于利用 Python Selenium 实例查询禅道是否存在任务或 Bug 的介绍已完成。如需了解更多 Python Selenium 与禅道集成的相关内容,建议查阅本站过往文章或继续浏览后续系列教程,感谢大家的支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。