g1879 / DrissionPage

基于python的网页自动化工具。既能控制浏览器,也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少。
https://drissionpage.cn
BSD 3-Clause "New" or "Revised" License
7.79k stars 736 forks source link

等待超时没有对应上 #387

Open wjsw1781 opened 2 hours ago

wjsw1781 commented 2 hours ago

我想控制截图 获取html 获取pdf 等操作的超时时间 我如下设置了 co = ChromiumOptions().set_user_data_path(pid_user_data_path).set_local_port(port)

co.set_timeouts(180,10,180)

page = ChromiumPage(co)

image

此时应该使用180秒为超时时间 但是此时报错还是30秒 如下:

版本:4.1.0.2 超时,可能是浏览器卡了。 ;url https://www.axi.com/int 2024-09-20T06:56:10.287662+0000 | INFO | 123 | root | 开始处理 1 / 56 Axi 监管信息_md 2024-09-20T06:56:16.031806+0000 | ERROR | 123 | root | 采集失败 0 / 56 嘉盛集团 简称_md 错误:timeout 方法:DOM.getOuterHTML 参数:{'objectId': '466113557539691497.1.2', '_timeout': 30} 版本:4.1.0.2 超时,可能是浏览器卡了。 ;url https://www.forex.com/en/

wjsw1781 commented 2 hours ago

image

我跟堆栈 也没发现哪里能控制这个超时

wjsw1781 commented 2 hours ago

发现了一个位置

image

这里超时怎么同co结合起来

wjsw1781 commented 2 hours ago

解决了
image image

成功修改了cdp 但是这种修改是全局 基于内存改动 这里是否应该抽成一个公共方法? 或者和跟co耦合一下

wjsw1781 commented 2 hours ago

但是我 又发现一个问题 就是 为什么一个普通的cdp就会导致失败 我发现内存占用 cpu占用都很低 作者能否就这个错误进行解答下 您这里说 超时,可能是浏览器卡了!
image 我只是觉得这个描述太不友好了
我觉的应该有其他原因吧 能否让我们规避呢? 并且每次传递的objectid是否是影响cdp传输的失败的原因呢?