Chrome有一个非常棒的功能,允许你从另一个浏览器或窗口打开开发工具。它的工作原理是用这个标志启动chrome:
--remote-debugging-port=9222
然后,您可以从另一个窗口/浏览器转到http://localhost:9222在Chrome中打开任何运行标签的开发工具。出于安全考虑,Chrome将不允许从另一台机器通过IP进行访问http://192.168.1.2:9222。
然而,还有一个额外的标志表明它打开了这个能力,下面是Chrome对它的说明:
--remote-debugging-address
使用给定地址而不是默认环回来接受远程调试连接。应该和--remote-debugging port一起使用。请注意,远程调试协议不执行任何身份验证,因此过于广泛地公开它可能会带来安全风险。
要么它不工作,要么我不知道如何格式化它。我尝试过以下几种方法:
--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
发布于 2017-05-26 19:27:01
原来,“-- remote - debugging address”选项只能用于无头模式("-- headless "),并且用于浏览器在docker容器中运行时的测试,而不是用于远程调试。
“remote-debugging address”参数必须是使用“--remote-debugging address”启动Chrome的机器的本地网络接口的数字ip-address。使用任何非本地ip地址时,将出现以下错误:
[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”崩溃):
/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --remote-debugging-port=9222 --remote-debugging-address=192.168.1.20 --headless
在另一个shell中,您可以看到,此地址用于监听套接字:
netstat -a -n | grep 9222
tcp4 0 0 192.168.1.20.9222 *.* LISTEN
如果没有"--headless“,输出将如下所示:
tcp4 0 0 127.0.0.1.9222 *.* LISTEN
迈克尔
发布于 2021-02-28 13:26:42
在语义上不同于chromedriver的
远程调试地址必须指定要绑定到的地址。所以你想要的是你机器的IP地址,而不是你将要连接的地址。尝试使用绑定到所有接口
发布于 2020-05-18 18:31:42
尝试在目标计算机上创建一个HTTP代理。
httpProxy
.createServer({
target: wsurl,
ws: true,
localAddress: host
})
.listen(port);
对我很有效。
https://stackoverflow.com/questions/40538197
复制相似问题