ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Python 操作/调试 已打开的 Chrome:简要说明

Python 操作/调试 已打开的 Chrome:简要说明 Python 操作已打开的 Chrome简要说明为什么普通启动的 Chrome 不能直接调试用户平时从桌面、任务栏或开始菜单启动的 Chrome默认不会开放 DevTools 远程调试端口。因此Selenium 等自动化程序不能临时附加到这个已经运行的普通浏览器实例也无法稳定读取当前页面的 DOM、点击元素或抓取结构化数据。远程调试端口必须在 Chrome启动时开启无法在 Chrome 已经启动后再动态补上。为什么要单独维护一个调试 Chrome从 Chrome 136 开始--remote-debugging-port不能用于 Chrome 默认用户资料目录必须同时指定一个非默认目录chrome.exe --remote-debugging-port9222 --user-data-dirD:\dev\chrome_debug_profile所以建议保留两个相互隔离的 Chrome 使用方式日常 Chrome普通启动用于日常上网不开放调试端口。调试 Chrome通过专用快捷方式启动使用独立用户资料目录开放9222端口供自动化程序连接。两者的 Cookie、登录状态、历史记录和扩展等数据相互独立。需要抓取登录后页面时应在调试 Chrome 中完成登录。正确的操作顺序双击桌面上的Chrome 调试模式 9222快捷方式。在这个 Chrome 中打开目标网页必要时先登录。等待页面加载完成。运行自动化或抓取程序python scrape_active_page.pySelenium 附加到已启动的调试 Chrome然后才可以读取 DOM、查找元素、点击按钮、填写表单和抓取数据。简单说正确顺序是先启动带调试端口的 Chrome ↓ 在该 Chrome 中打开目标页面 ↓ 再运行 Python/Selenium 连接并操作如何确认调试端口已开启在浏览器中访问http://127.0.0.1:9222/json/version如果能看到 JSON 数据说明调试端口已经可用。如果无法访问通常是启动方式不正确或者当前打开的是普通 Chrome。py直接连9222端口即可安全提示仅在本机开放调试端口不要将其暴露到公网。调试 Chrome 可能包含登录状态不要共享其用户资料目录。抓取网站数据时应遵守网站条款、访问频率限制和相关法律。
返回列表