当前位置: 首页 > article >正文

pytest高版本兼容test_data[“log“] = _handle_ansi(“\n“.join(logs))错误

一、问题现象:

执行selenium+pytest结束时报:

INTERNALERROR>   File "D:\workspace\pytestframe\.venv\Lib\site-packages\pytest_html\report_data.py", line 141, in add_test
INTERNALERROR>     test_data["log"] = _handle_ansi("\n".join(logs))
INTERNALERROR>                                     ^^^^^^^^^^^^^^^
INTERNALERROR> TypeError: sequence item 0: expected str instance, div found

二、问题解决:

定位这个问题,进入对应的代码文件夹:

 

在报错行加入这行代码,即可解决问题:

logs = [log.text if hasattr(log, 'text') else str(log) for log in logs]

三、解释:

这个错误信息表明在尝试连接一个序列(logs)时,序列中的第一个元素是一个 div 对象,而不是字符串。join 方法只能处理字符串,因此引发了 TypeError

转换 div 对象为字符串: 如果 logs 中包含 div 对象,确保将其转换为字符串。你可以使用 .text 属性或 .get_attribute("outerHTML") 方法获取其文本或 HTML 内容

当然很多selenium相关问题都和webdriver的版本和浏览器匹配有关,一定要下载和浏览器相对应的版本:

python-webdriver谷歌浏览器的driver,用于selenium内核驱动:

http://chromedriver.storage.googleapis.com/index.html

123以后的谷歌浏览器版本:

Chrome for Testing availability


http://www.kler.cn/a/374442.html

相关文章:

  • c# WinForm弹出窗体时不获取焦点方法
  • 字符串逆序(c语言)
  • 江协科技STM32学习- P28 USART串口数据包
  • 泷羽sec-安全见闻(9)
  • Docker 部署 Jaeger
  • PySpark单机模式安装教程
  • 安装Docker环境的两种方式
  • 反序列化漏洞的运行原理及防御方法
  • Halcon-模板匹配(WPF)
  • 【Linux系统编程】第四十弹---深入理解操作系统:信号捕捉、可重入函数、volatile关键字与SIGCHLD信号解析
  • 从Flux Dev蒸馏出来的模型——Flux.1 Lite
  • rom定制系列------红米note8_miui14安卓13定制修改固件 带面具root权限 刷写以及界面预览
  • 灵动AI视频 —— 创意无界,视频新生
  • Qt限制QGraphicsScene QGraphicsItem内部的移动范围
  • mac 使用命令卸载Node.js
  • Qt指定程序编译生成文件的位置
  • 使用 pkg 打包 Puppeteer 应用:跨平台自动化的轻量级选择
  • 管家婆财贸ERP BB072.销售单草稿明细生成组装拆分单
  • [实战-11] FlinkSql设置时区(table.local-time-zone)
  • MySQL 的 select * 会用到事务吗?
  • Ethernet 系列(6)-- 基础学习::OSI Model
  • 金融小白两周完成一个量化系统 (二)项目进度以及数据获取
  • 数据分析可视化:散点图矩阵与雷达图的生成
  • 时序数据分析:工业时序数据的特点
  • 【python ASR】win11-从0到1使用funasr实现本地离线音频转文本
  • golang的多表联合orm