seleniun 自动化程序,python编程 我监控 chrome debug数据后 ,怎么获取控制台的信息呢
python
好的,使用 Python 来监控 Chrome 的调试数据并获取控制台信息,可以使用 websocket-client
库来连接 Chrome 的 WebSocket 接口。以下是一个详细的示例:
1. 安装必要的库
首先,你需要安装 websocket-client
库。可以使用以下命令进行安装:
sh复制
pip install websocket-client
2. 启动 Chrome 并启用远程调试
打开命令行工具,运行以下命令启动 Chrome 并启用远程调试:
sh复制
chrome.exe --remote-debugging-port=9222
3. 连接到 Chrome 实例并获取控制台信息
以下是一个 Python 脚本,用于连接到 Chrome 实例并获取控制台信息:
Python复制
import websocket
import json# 连接到 Chrome 的 WebSocket 接口
ws = websocket.create_connection('ws://127.0.0.1:9222/devtools/browser/02fd130b-6cce-498d-bf53-7dda22f9f35a')# 发送命令启用 Runtime 域
ws.send(json.dumps({'id': 1,'method': 'Runtime.enable','params': {}
}))# 发送命令启用 Console 域
ws.send(json.dumps({'id': 2,'method': 'Console.enable','params': {}
}))# 监听消息
def on_message(ws, message):data = json.loads(message)if 'method' in data and data['method'] == 'Console.messageAdded':print('Console message:', data['params']['message']['text'])# 保持连接,持续监听消息
while True:message = ws.recv()on_message(ws, message)# 关闭连接
ws.close()
4. 详细说明
-
连接到 WebSocket:使用
websocket.create_connection
方法连接到 Chrome 的 WebSocket 接口。 -
启用 Runtime 和 Console 域:发送 JSON 命令启用
Runtime
和Console
域,以便接收控制台消息。 -
监听消息:定义
on_message
函数来处理接收到的消息。如果消息是Console.messageAdded
,则打印控制台消息。 -
保持连接:使用
while True
循环持续监听消息。 -
关闭连接:在适当的时候关闭 WebSocket 连接。
5. 运行脚本
运行上述脚本后,打开一个 Chrome 标签页并访问任意网站,你将看到控制台输出的信息。
6. 注意事项
-
确保 Chrome 已经启动并启用了远程调试。
-
WebSocket 连接的 URL 可能会根据你的 Chrome 实例而有所不同,确保使用正确的 URL。
-
你可以通过访问
http://127.0.0.1:9222/json
来获取当前所有打开的标签页信息,从而获取正确的 WebSocket URL。
希望这个示例对你有帮助!如果你有其他问题或需要进一步的帮助,请随时告诉我。
notejs
1. 确保 Chrome 浏览器正确启动并监听调试端口
首先,确保 Chrome 浏览器已经正确启动并监听了指定的调试端口(在你的代码中是9999端口)。可以通过以下命令在命令行中启动 Chrome 并开启调试模式:
bash复制
chrome.exe --remote-debugging-port=9999 --remote-allow-origins=* --start-maximized
确保 Chrome 路径正确,或者将 Chrome 路径添加到系统环境变量中。
2. 检查端口是否被占用
使用以下命令检查9999端口是否被其他进程占用:
bash复制
netstat -ano | findstr "9999"
如果端口被占用,可以选择其他端口或结束占用该端口的进程。
3. 确保 Selenium 配置正确
在你的代码中,确保 webdriver.ChromeOptions
配置正确,并且 debugger_address
设置为 localhost:9999
。你的代码看起来是正确的,但可以尝试以下步骤确保没有遗漏:
Python复制
import time
import subprocess
from selenium import webdriver
from selenium.webdriver.chrome.options import Options# 启动 Chrome 浏览器并开启调试模式
EXEC_DIR_PATH = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
command = f'{EXEC_DIR_PATH} --remote-debugging-port=9999 --remote-allow-origins=* --start-maximized'
subprocess.Popen(command, shell=True)
time.sleep(1) # 等待浏览器启动# 浏览器配置对象
options = Options()
options.debugger_address = 'localhost:9999'
driver = webdriver.Chrome(options=options)# 打开一个网页进行测试
driver.get('https://www.example.com')
4. 检查 ChromeDriver 版本
确保你使用的 ChromeDriver 版本与 Chrome 浏览器版本兼容。不兼容的版本可能导致连接失败或其他问题。可以通过以下命令查看 ChromeDriver 版本:
bash复制
chromedriver --version
如果版本不兼容,可以下载并安装与你的 Chrome 浏览器版本匹配的 ChromeDriver。
5. 检查防火墙和网络设置
确保防火墙没有阻止 Chrome 浏览器监听9999端口。可以暂时关闭防火墙进行测试,或者添加规则允许 Chrome 使用该端口。
6. 使用其他调试命令
如果 Emulation.setEmitTouchEventsForMouse
命令仍然失败,可以尝试使用其他调试命令来模拟触摸事件,例如 Emulation.setTouchEmulationEnabled
:
Python复制
driver.execute_cdp_cmd('Emulation.setTouchEmulationEnabled', {'enabled': True, 'configuration': 'mobile'})
通过以上步骤,你应该能够解决 Emulation.setEmitTouchEventsForMouse
命令失败的问题。如果问题仍然存在,建议进一步检查 Chrome 和 Selenium 的日志,查找更详细的错误信息。
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
seleniun 自动化程序,python编程 我监控 chrome debug数据后 ,怎么获取控制台的信息呢
python 好的,使用 Python 来监控 Chrome 的调试数据并获取控制台信息,可以使用 websocket-client 库来连接 Chrome 的 WebSocket 接口。以下是一个详细的示例: 1. 安装必要的库 首先,你需要安装 websocket-client 库。可以使用…...
![](https://www.ngui.cc/images/no-images.jpg)
SQL中的数据库对象
视图:VIEW 概念 ① 虚拟表,本身不存储数据,可以看做是存储起来的SELECT语句 ② 视图中SELECT语句中涉及到的表,称为基表 ③ 针对视图做DML操作,对影响到基表中的数据,反之亦然 ④ 创建、删除视图本身&#…...
![](https://i-blog.csdnimg.cn/img_convert/1efcdad20f05490efc8a61d8916240ac.png)
DeepSeek:性能强劲的开源模型
deepseek 全新系列模型 DeepSeek-V3 首个版本上线并同步开源。登录官网 chat.deepseek.com 即可与最新版 V3 模型对话。 性能对齐海外领军闭源模型 DeepSeek-V3 为自研 MoE 模型,671B 参数,激活 37B,在 14.8T token 上进行了预训练。 论…...
![](https://i-blog.csdnimg.cn/img_convert/51fec787657dfcdd08333f8a596ba6e3.jpeg)
医疗可视化大屏 UI 设计新风向
智能化交互 借助人工智能与机器学习技术,实现更智能的交互功能。如通过语音指令或手势控制来操作大屏,医护人员无需手动输入,可更便捷地获取和处理信息。同时,系统能根据用户的操作习惯和数据分析,自动推荐相关的医疗…...
![](https://www.ngui.cc/images/no-images.jpg)
从企业级 RAG 到 AI Assistant , Elasticsearch AI 搜索技术实践
文章目录 01 AI 搜索落地的挑战02 Elasticsearch 向量性能 5 倍提升03 Elasticsearch 企业版 AI 能力全面解读04 阿里云 Elasticsearch 将准确率提升至 95%05 AI Assistant 集成通义千问大模型实现 AI Ops01 AI 搜索落地的挑战 在过去一年中,基座大模型技术的快速迭代推动了 …...
![](https://www.ngui.cc/images/no-images.jpg)
TypeScript语言的并发编程
TypeScript语言的并发编程 引言 随着现代应用程序的复杂性不断增加,性能和用户体验的重要性显得尤为突出。在这种背景下,并发编程应运而生,成为提升应用程序效率的重要手段。在JavaScript及其超集TypeScript中,尽管语言本身是单…...
![](https://i-blog.csdnimg.cn/direct/33a6b71ce4744674875cd5b85787191b.png)
benchANT 性能榜单技术解读 Part 1:写入吞吐
近期,国际权威数据库性能测试榜单 benchANT 更新了 Time Series: Devops(时序数据库)场景排名,KaiwuDB 数据库在 xsmall 和 small 两类规格下的时序数据写入吞吐、查询吞吐、查询延迟、成本效益等多项指标刷新榜单原有数据纪录。在…...
![](https://www.ngui.cc/images/no-images.jpg)
虚拟机防火墙管理
虚拟机防火墙管理 在网络防护方面,PVE提供了相当良好的防火墙管理功能,并且可以适用于节点实体机、客体机、让客体机内不需要另外再安装软体防火墙,对于效能与统一管理大有助益,管理者可以方便一次管理所有的防火墙规则࿰…...
![](https://i-blog.csdnimg.cn/direct/2665d77c25504269b23b89d1610620f9.png)
Nginx反向代理请求头有下划线_导致丢失问题处理
后端发来消息说前端已经发了但是后端没收到请求。 发现是下划线的都没收到,搜索之后发现nginx默认request的header中包含’_’时,会自动忽略掉。 解决方法是:在nginx里的nginx.conf配置文件中的http部分中添加如下配置: unders…...
![](https://i-blog.csdnimg.cn/blog_migrate/ed0afaffabc28cc474988b643d811f4e.png)
【STM32+CubeMX】 新建一个工程(STM32F407)
相关文章: 【HAL库】 STM32CubeMX 教程 1 --- 下载、安装 目录 第一部分、新建工程 第二部分、工程文件解释 第三部分、编译验证工程 友情约定:本系列的前五篇,为了方便新手玩家熟悉CubeMX、Keil的使用,会详细地截图每一步Cu…...
![](https://i-blog.csdnimg.cn/img_convert/277550ed4d31bb08365854aaa85264ba.png)
机器人避障不再“智障”:HEIGHT——拥挤复杂环境下机器人导航的新架构
导读: 由于环境中静态障碍物和动态障碍物的约束,机器人在密集且交互复杂的人群中导航,往往面临碰撞与延迟等安全与效率问题。举个简单的例子,商城和车站中的送餐机器人往往在人流量较大时就会停在原地无法运作,因为它不…...
![](https://i-blog.csdnimg.cn/direct/359b7058dc054f26b382684e41d66886.png)
H2数据库在单元测试中的应用
H2数据库特征 用比较简洁的话来介绍h2数据库,就是一款轻量级的内存数据库,支持标准的SQL语法和JDBC API,工业领域中,一般会使用h2来进行单元测试。 这里贴一下h2数据库的主要特征 Very fast database engineOpen sourceWritten…...
![](https://i-blog.csdnimg.cn/direct/6c7cdd4a03d648ec95b6151ad2583d0f.png)
部署HugeGraph
部署HugeGraph 这里以hugegraph1.2.0为例子,演示一下如何安装部署hugegraph 一、下载并安装JDK11 下载JDK11 https://www.oracle.com/java/technologies/downloads/#java11 使用scp命令将安装包上传到服务器 scp /path/to/local/file usernameserver_ip:/path/…...
![](https://www.ngui.cc/images/no-images.jpg)
2025年第三届“华数杯”国际赛A题解题思路与代码(Matlab版)
游泳竞技策略优化模型代码详解(MATLAB版) 第一题:速度优化模型 本部分使用MATLAB实现游泳运动员在不同距离比赛中的速度分配策略优化。 1. 模型概述 模型包含三个主要文件: speed_optimization.m: 核心优化类plot_speeds.m: …...
![](https://www.ngui.cc/images/no-images.jpg)
嵌入式基础 -- IMX8MP的 GPC 模块技术
General Power Controller (GPC) 模块技术文档 1. GPC 模块简介 1.1 模块功能 GPC(General Power Controller)模块是用于 i.MX8M Plus 应用处理器 的电源管理组件,支持以下功能: 管理 ARM Cortex-A53 和 Cortex-M7 平台的低功…...
![](https://i-blog.csdnimg.cn/direct/316a26a5e9e24c0bb4300f94915073d8.png)
选择器css
1.a标签选择 // 选中所具有herf 的元素 [herf] {color: skyblue; } // 选中所具有herfhttps://fanyi.youdao.com/ 的元素 [herf$"youdao.com"] {color:pink; } // 按此顺序书写 link visited hover active // 未访问状态 a:link {color:orange } // 访问状态 a…...
![](https://i-blog.csdnimg.cn/direct/f67f0e9f31d44799a8a562d6c7e45586.jpeg#pic_center)
全方位解读消息队列:原理、优势、实例与实践要点
全方位解读消息队列:原理、优势、实例与实践要点 一、消息队列基础认知 在数字化转型浪潮下,分布式系统架构愈发复杂,消息队列成为其中关键一环。不妨把消息队列想象成一个超级“信息驿站”,在古代,各地的信件、物资运…...
![](https://www.ngui.cc/images/no-images.jpg)
JavaScript运算符与控制结构
JavaScript作为一门强大的前端语言,提供了丰富的运算符与控制结构,使程序逻辑更加灵活与高效。 1. JavaScript运算符 算术运算符 运算符描述示例结果加法5 38-减法7 - 43*乘法2 * 612/除法8 / 24%取模(余数)10 % 31**幂运算3 …...
![](https://i-blog.csdnimg.cn/img_convert/7eb34b07504cd1e2a85dcd72d3d958fb.jpeg)
2030年中国AI人才缺口或达400万,近屿智能助力AI人才储备增长
在当今数字化浪潮下,人工智能(AI)已成为推动各行业发展的关键力量。然而,吸引和留住 AI 人才正成为全球性难题,中国亦不例外。据麦肯锡 2022 年全球人工智能商业高管调查,75% 的中国受访者在招聘数据科学家…...
![](https://i-blog.csdnimg.cn/direct/718e05914acd477cb7eb12fcceaf25bf.png#pic_center)
如何设计一个注册中心?以Zookeeper为例
这是小卷对分布式系统架构学习的第8篇文章,在写第2篇文章已经讲过服务发现了,现在就从组件工作原理入手,讲讲注册中心 以下是面试题: 某团面试官:你来说说怎么设计一个注册中心? 我:注册中心嘛&…...
![](https://i-blog.csdnimg.cn/direct/1117629404af4198a0834223cc769a7f.png)
ubuntu 20.04 安装docker--小白学习之路
更新包 sudo apt-get update # 安装需要的软件包以使apt能够通过HTTPS使用仓库 sudo apt-get install ca-certificates curl gnupg lsb-release 使用清华大学源 # 添加Docker官方的GPG密钥 curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo…...
![](https://www.ngui.cc/images/no-images.jpg)
【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据...本篇介绍 密集行人检测的遮挡问题怎么解决?
【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据…本篇介绍 密集行人检测的遮挡问题怎么解决? 【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据…本篇介绍 密集行人检测的遮挡问题怎么解决? 文章目录 …...
![](https://i-blog.csdnimg.cn/direct/0f36b9e003974bd98b23a77e8d78127c.png)
Tableau数据可视化与仪表盘搭建-可视化原则及BI仪表盘搭建
目录 可视化原则 BI仪表盘搭建 仪表盘搭建原则 明确仪表盘主题 仪表盘主题拆解 开发设计工作表 经营情况总览:突出显示的文字 经营数据详情:表格 每日营收数据:多轴折线图 每日流量数据:双轴组合图 新老客占比…...
![](https://i-blog.csdnimg.cn/direct/8161aa2d9c0c40e7bbb6930fa611377e.png)
TensorFlow Quantum快速编程(基本篇)
一、TensorFlow Quantum 概述 1.1 简介 TensorFlow Quantum(TFQ)是由 Google 开发的一款具有开创性意义的开源库,它宛如一座桥梁,巧妙地将量子计算与 TensorFlow 强大的机器学习功能紧密融合。在当今科技飞速发展的时代,传统机器学习虽已取得诸多瞩目成就,然而面对日益…...
![](https://i-blog.csdnimg.cn/direct/40681a1996344e84ba4a348432b7599a.png)
ELK日志分析实战宝典之ElasticSearch从入门到服务器部署与应用
目录 ELK工作原理展示图 一、ElasticSearch介绍(数据搜索和分析) 1.1、特点 1.2、数据组织方式 1.3、特点和优势 1.3.1、分布式架构 1.3.2、强大的搜索功能 1.3.3、数据处理与分析 1.3.4、多数据类型支持 1.3.5、易用性与生态系统 1.3.6、高性…...
![](https://www.ngui.cc/images/no-images.jpg)
git 转移文件夹
打开终端或命令行界面:首先,确保你的电脑上安装了 Git,并打开终端或命令行界面。 导航到你的仓库目录:使用 cd 命令来切换到包含你想要移动文件夹的仓库的目录。 cd /path/to/your/repository使用 git mv 命令移动文件夹&#x…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83A)
C#,图论与图算法,输出无向图“欧拉路径”的弗勒里(Fleury Algorithm)算法和源程序
1 欧拉路径 欧拉路径是图中每一条边只访问一次的路径。欧拉回路是在同一顶点上开始和结束的欧拉路径。 这里展示一种输出欧拉路径或回路的算法。 以下是Fleury用于打印欧拉轨迹或循环的算法(源)。 1、确保图形有0个或2个奇数顶点。2、如果有0个奇数顶…...
![](https://www.ngui.cc/images/no-images.jpg)
计算机网络之---OSI七层模型
为什么会有七层模型 OSI七层模型的出现源于计算机网络技术的发展需求,主要解决以下几个问题: 标准化与互操作性 随着计算机网络的快速发展,不同厂商、不同技术之间的设备和系统需要能够无缝通信。而不同厂商在网络硬件、软件、协议等方面存在…...
![](https://www.ngui.cc/images/no-images.jpg)
mysql的mvcc理解
人阅读 一、说到mvcc就少不了事务隔离级别(大白话解释) 序列化(SERIALIZABLE):事务之间完全隔离,当成一个序列,一个一个执行。 1 可重复读(REPEATABLE READ)ÿ…...
![](https://www.ngui.cc/images/no-images.jpg)
leetcode 面试经典 150 题:两数之和
链接两数之和题序号1题型数组解题方法1. 哈希表,2. 暴力法难度简单熟练度✅✅✅✅✅ 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输…...
![](/images/no-images.jpg)
关键词和网站的关系/seo主要做什么
使用rpm命令查询软件包: 1、查询系统中安装的所有RPM包 $ rpm -qa 查询当前linux系统中已经安装的软件包。 例:$ rpm -qa | grep -i x11 | head -3 察看系统中包含x11字符串的前3行软件包。 2、查询软件包是否安装 $ rpm –q rpm包名称 察看系统中指定软…...
![](https://img-blog.csdnimg.cn/e5ca98b9830a4ea7a2ce617bc103202f.png)
58同城网站建设要多少钱/个人网站设计成品
一顿操作猛如虎,点击提交超时了。 二话不说翻题解,评论区里全人才。 反反复复终得道,再次尝试却报错。 行行检查字字改,击败用户百分五。 运行一夜的 一哥:哥的寂寞你不懂,不说了继续看运行日志了 段…...
网站接广告/看广告赚钱一天50元
翻译 | 刘彦博 ,中国大陆唯一的 Flutter GDEFlutter 能以 framework 的形式添加到你的既有 iOS 应用中。本文将讲解如何做到这一点。集成系统要求你的开发环境必须满足 Flutter 对 macOS 系统的版本要求1 并 已经安装 Xcode2,Flutter 支持 iOS 8.0 及以上…...
![](/images/no-images.jpg)
正规网站建设找哪家/现在推广一般都用什么软件
一、JSON的标准格式 JSON里面是一个对象,如果是多个对象,则用逗号间隔,即{},{},这样就组成了一个对象序列,为了辨别开始和结束,则需要加上[],即实际传递的形式应该是[{},{}],如果只要…...
免费文字变形logo设计/seo课堂
表单提交时 form submit 直接就可以提交了,但是了防止跨站攻击,都可以加入CSRF来防御。 node下的配置 var csrf require(csurf);app.use(csrf());app.use(function(req, res, next){let _csrf req.csrfToken();res.locals.csrf _csrf;res.cookie(XSRF…...
![](/images/no-images.jpg)
湖南建设人力资源网和报考平台/齐三seo顾问
01 开启多条线程,每条线程都只下载文件的一部分(通过设置请求头中的Range来实现) 02 创建一个和需要下载文件大小一致的文件,判断当前是那个线程,根据当前的线程来判断下载的数据应该写入到文件中的哪个位置。…...