Selenium 连接 已打开的 google 浏览器

需要关闭所有的google 浏览器及后台进程

chrome --remote-debugging-port=9222(任意)


            //options.addArguments("debuggerAddress", "127.0.0.1:9515");
            
             // C:\Program Files (x86)\Google\Chrome\Application>chrome.exe --remote-debugging-port=12306
            
            // "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=12306

            options.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");
                 
            // 开启webDriver进程
            WebDriver webDriver = new ChromeDriver(options);

转载原文

https://blog.csdn.net/qq_42841075/article/details/107091052

命令行启动Chrome调试模式

启动的时候,默认是关闭了调试端口的,如果要对一个目标 Chrome PC 浏览器进行调试,那么启动的时候,可以通过传递参数来开启 Chrome 的调试开关。

mac下:

sudo /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
1
windows下:

chrome --remote-debugging-port=9222
1
注:
1)这里的port可以传任意端口,但是要注意端口冲突问题。
2)window下要在命令行执行chrome命令需要将chrome路径添加到环境变量下,或者切换到chrome.exe路径下执行。

windows查看端口情况:

netstat  -ano 
1

查看指定端口使用情况

netstat  -ano  | findstr "xxxx"
1

最后的四位数字就是进程pid。

Linux查看端口方法如下:

linux之查看端口使用情况

ps -ef 和netstat -anp与管道符以及linux三剑客搭配使用效果更佳。

selenium设置chrome浏览器debugger模式

options = Options()
options.debugger_address = "localhost:9222"
self.driver = webdriver.Chrome(options=options)
1
2
3
这里的端口与命令行启动浏览器时指定的端口一致。

下面就是遇到的坑了~~

菜鸡姜(小编)在ide内执行用例时报错连接该端口失败

然后经检查是开启多个chrome进程问题,关闭所有chrome进程后,命令行启动指定端口浏览器后,浏览器崩溃。

其他chrome问题见下图。

经过十几分钟的百度Google和向前辈大佬请教后,自己找到了问题所在。

解决过程:

首先是按照上述图片排查了一遍问题,发现不是配置问题,然后查看端口进程后,也不是端口冲突问题,
然后发现命令行直接输入chrome打开浏览器是正常的,那么想到原因可能是启动chrome的参数配置问题。除了启动命令设置了debugging模式,想到之前解决跨域和其他问题,修改过chrome启动文件的属性值。尝试去掉后再次执行命令调试模式启动正常,开心~

额,第二天就不开心了,发现又用不了了,看来问题找错了。然后,继续百度Google,发现了以下帖子,终于找到症状了。完美解决的自己的问题,也搞懂了原因。

转:解决浏览器错误STATUS_INVALID_IMAGE_HASH的问题

转:Google Chrome 错误代码“STATUS_INVALID_IMAGE_HASH”
————————————————
版权声明:本文为CSDN博主「黎晟丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42841075/article/details/107091052

附Chrom参数配置:

1 --allow-outdated-plugins 不停用过期的插件。
2 --allow-running-insecure-content 默认情况下,https 页面不允许从 http 链接引用 javascript/css/plug-ins。添加这一参数会放行这些内容。
3 --allow-scripting-gallery 允许拓展脚本在官方应用中心生效。默认情况下,出于安全因素考虑这些脚本都会被阻止。
4 --disable-accelerated-video 停用 GPU 加速视频。
5 --disable-dart 停用 Dart。
6 --disable-desktop-notifications 禁用桌面通知,在 Windows 中桌面通知默认是启用的。
7 --disable-extensions 禁用拓展。
8 --disable-file-system 停用 FileSystem API。
9 --disable-preconnect 停用 TCP/IP 预连接。
10 --disable-remote-fonts 关闭远程字体支持。SVG 中字体不受此参数影响。
11 --disable-speech-input 停用语音输入。
12 --disable-web-security 不遵守同源策略。
13 --disk-cache-dir 将缓存设置在给定的路径。
14 --disk-cache-size 设置缓存大小上限,以字节为单位。
15 --dns-prefetch-disable 停用DNS预读。
16 --enable-print-preview 启用打印预览。
17 --extensions-update-frequency 设定拓展自动更新频率,以秒为单位。
18 --incognito 让浏览器直接以隐身模式启动。
19 --keep-alive-for-test 最后一个标签关闭后仍保持浏览器进程。(某种意义上可以提高热启动速度,不过你最好得有充足的内存)
20 --kiosk 启用kiosk模式。(一种类似于全屏的浏览模式)
21 --lang 使用指定的语言。
22 --no-displaying-insecure-content 默认情况下,https 页面允许从 http 链接引用图片/字体/框架。添加这一参数会阻止这些内容。
23 --no-first-run 跳过 Chromium 首次运行检查。
24 --no-referrers 不发送 Http-Referer 头。
25 --no-sandbox 彻底停用沙箱。
26 --no-startup-window 启动时不建立窗口。
27 --proxy-pac-url 使用给定 URL 的 pac 代理脚本。(也可以使用本地文件,如 --proxy-pac-url=“file:\\c:\proxy.pac”)
28 --proxy-server 使用给定的代理服务器,这个参数只对 http 和 https 有效。(例如 --proxy-server=127.0.0.1:8087 )
29 --single-process 以单进程模式运行 Chromium。(启动时浏览器会给出不安全警告)
30 --start-maximized 启动时最大化。
31 --user-agent 使用给定的 User-Agent 字符串

32 –user-data-dir=UserDataDir  自订使用者帐户资料夹(如:–user-data-dir=“D:\temp\Chrome User Data”)
33 –process-per-tab  每个分页使用单独进程
34 –process-per-site 每个站点使用单独进程
35 –in-process-plugins 插件不启用单独进程

36 –disable-popup-blocking 禁用弹出拦截
37 –disable-javascript 禁用JavaScript
38 –disable-java 禁用Java
39 –disable-plugins 禁用插件
40 –disable-images 禁用图像
41 –omnibox-popup-count=”num” 将网址列弹出的提示选单数量改为num个
42 –enable-vertical-tabs 调整chrome游览器标签存放在左边,非顶部
————————————————
版权声明:本文为CSDN博主「BigRich9527」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liang1352389/article/details/104392578

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值