admin管理员组文章数量:1538715
文章目录
- 概要
- 整体架构流程
- 第一,打开Chrome指定端口
- 第二步,在pycharm里面利用playwright连接刚刚启动的端口号谷歌浏览器
- 第三步,继续完善playwright代码即可
- 参考文章:
概要
背景
最近项目遇到需要playwright来自动化检测,查阅全网上大量资料,关于如何利用playwright来连接、启动本地已打开的谷歌浏览器的文章少之又少,MacOS下的思路更是如雪地❄️中的脚印难寻,有幸终于在某农教程网发现了一点蛛丝马迹(原文链接)
根据其中的思路,再结合ChatGPT,我最终实现了在MacOS系统下的playwright链接已打开的谷歌浏览器。
话不多说,流程如下:
整体架构流程
三步走
第一,打开Chrome指定端口
添加环境变量:
打开MacOS的终端terminal,然后输入以下命令将Chrome的路径添加到你的环境变量中:
export PATH="/Applications/Google Chrome.app/Contents/MacOS:$PATH"
如果不会添加,请看以下部分:
在终端中输入以下命令以使用文本编辑器打开.zshrc文件:
nano ~/.zshrc
在打开的.zshrc文件中找到一个空白行,或者在文件的末尾添加以下行:
export PATH="/Applications/Google Chrome.app/Contents/MacOS:$PATH"
保存对文件的更改。在nano编辑器中,按下Ctrl + O,然后按Enter键以保存文件。然后按下Ctrl + X以退出nano编辑器。
激活环境: 在终端中运行以下命令以使更改生效:
source ~/.zshrc
这将重新加载你的.zshrc文件,并使你添加的导出命令生效。
完成以上步骤后,你的环境就已经配置好了。你可以继续运行启动Chrome的命令
Google\ Chrome --remote-debugging-port=9222 --user-data-dir="~/ChromeProfile"
效果如下:
点击启动,即完成了第一步!
第二步,在pycharm里面利用playwright连接刚刚启动的端口号谷歌浏览器
# 使用 Playwright 连接到已经运行的 Chrome 浏览器
with sync_playwright() as playwright:
# 连接已打开浏览器,找好端口 '''MacOc下的路径'''
browser = playwright.chromium.connect_over_cdp("ws://127.0.0.1:9222/devtools/browser/eab0fe5a-7c01-43a5-ba23-7828446bdee0")
default_context = browser.contexts[0] # 注意这里不是browser.new_page()了
page = default_context.pages[0] #如果后续定位不到,说明page这里选择错了页面
print(page)
page.set_default_timeout(30000)
重要提示:
connect_over_cdp(里面的路径从终端里直接复制过来)
类似这样:
DevTools listening on ws://127.0.0.1:9223/devtools/browser/dfc62046-9623-4d59-9f9d-f3f351338566
第三步,继续完善playwright代码即可
参考文章:
macbook控制已经运行的Chrome浏览器原创
playwright连接已有浏览器操作
本文标签: 浏览器系统macOSplaywright
版权声明:本文标题:MacOS系统下:playwright如何连接已打开的谷歌浏览器,绕过反爬 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1726982378a1092947.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论