首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从另一台机器进行Chrome远程调试

从另一台机器进行Chrome远程调试
EN

Stack Overflow用户
提问于 2016-11-11 06:33:06
回答 3查看 20.4K关注 0票数 11

Chrome有一个非常棒的功能,允许你从另一个浏览器或窗口打开开发工具。它的工作原理是用这个标志启动chrome:

代码语言:javascript
运行
复制
--remote-debugging-port=9222

然后,您可以从另一个窗口/浏览器转到http://localhost:9222在Chrome中打开任何运行标签的开发工具。出于安全考虑,Chrome将不允许从另一台机器通过IP进行访问http://192.168.1.2:9222

然而,还有一个额外的标志表明它打开了这个能力,下面是Chrome对它的说明:

代码语言:javascript
运行
复制
--remote-debugging-address

使用给定地址而不是默认环回来接受远程调试连接。应该和--remote-debugging port一起使用。请注意,远程调试协议不执行任何身份验证,因此过于广泛地公开它可能会带来安全风险。

要么它不工作,要么我不知道如何格式化它。我尝试过以下几种方法:

代码语言:javascript
运行
复制
--remote-debugging-port=9222 --remote-debugging-address=http://192.168.1.2:9222
--remote-debugging-port=9222 --remote-debugging-address=http://192.168.1.2
--remote-debugging-port=9222 --remote-debugging-address=192.168.1.2:9222
--remote-debugging-port=9222 --remote-debugging-address=192.168.1.3 //maybe thinking its supposed to be the IP of the remote machine

目标机器是Mac

EN

回答 3

Stack Overflow用户

发布于 2017-05-26 19:27:01

原来,“-- remote - debugging address”选项只能用于无头模式("-- headless "),并且用于浏览器在docker容器中运行时的测试,而不是用于远程调试。

“remote-debugging address”参数必须是使用“--remote-debugging address”启动Chrome的机器的本地网络接口的数字ip-address。使用任何非本地ip地址时,将出现以下错误:

代码语言:javascript
运行
复制
[0526/132024.480654:ERROR:socket_posix.cc(137)] bind() returned an error, errno=49: Can't assign requested address
[0526/132024.480766:ERROR:devtools_http_handler.cc(226)] Cannot start http server for devtools. Stop devtools.

在我的Mac上,我可以使用以下命令行从今天开始启动Chrome Canary版本(当前稳定版本使用“--headless”崩溃):

代码语言:javascript
运行
复制
/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary  --remote-debugging-port=9222 --remote-debugging-address=192.168.1.20 --headless

在另一个shell中,您可以看到,此地址用于监听套接字:

代码语言:javascript
运行
复制
netstat -a -n | grep 9222
tcp4       0      0  192.168.1.20.9222      *.*                    LISTEN

如果没有"--headless“,输出将如下所示:

代码语言:javascript
运行
复制
tcp4       0      0  127.0.0.1.9222         *.*                    LISTEN

迈克尔

票数 26
EN

Stack Overflow用户

发布于 2021-02-28 13:26:42

在语义上不同于chromedriver的

远程调试地址必须指定要绑定到的地址。所以你想要的是你机器的IP地址,而不是你将要连接的地址。尝试使用绑定到所有接口

票数 1
EN

Stack Overflow用户

发布于 2020-05-18 18:31:42

尝试在目标计算机上创建一个HTTP代理。

代码语言:javascript
运行
复制
httpProxy
    .createServer({
      target: wsurl,
      ws: true,
      localAddress: host
    })
    .listen(port);

对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40538197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档