Python Selenium 自动化查询禅道任务与 Bug 状态
本文介绍如何使用 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 与禅道集成的相关内容,建议查阅本站过往文章或继续浏览后续系列教程,感谢大家的支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













