[Bug]: Since 0.9.1, Linux launches chrome-headless-shell instead of Chromium
维护者通常 2 天内回复
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 72/100
调研方向
从 crawl4ai 的 browser_manager 模块中的 BrowserManager._build_browser_args 开始,这里在 "chromium" 的情况下会丢弃 channel 的值,并阅读其旁边的 Windows 注释。在 Linux 上运行 issue 中的代码片段,确认它返回的是 None 而不是 "chromium"。完成标准是:Linux 保持与 0.9.0 一样传递 channel,同时仅限 Windows 的临时处理仍然在 sys.platform == "win32" 时生效。
由索引模型根据 Issue 内容生成。
描述
crawl4ai version
0.9.1 to 0.9.5
Expected Behavior
On Linux, the default BrowserConfig (chrome_channel="chromium") keeps launching the same browser as in 0.9.0, full Chromium, and the Windows-specific fix stays limited to Windows.
Current Behavior
BrowserManager._build_browser_args no longer passes channel when it is "chromium", on every OS. The comment there explains it as a Windows fix: Playwright looks for a system Chrome there and exits. Without a channel, Playwright launches chrome-headless-shell instead of full Chromium on Linux too, and the two don't behave the same.
The difference we measured: full Chromium moves an http:// navigation to https:// on its own (status 307, internal redirect). chrome-headless-shell requests http:// as given. On sites that only serve HTTPS (port 80 closed, or 403/404 over HTTP), 0.9.0 gets the page and 0.9.1+ fails. On 48 company websites in that situation, 35 that load on 0.9.0 fail on 0.9.5 with Failed on navigating ACS-GOTO or a 403/404 page. The same sites load again on 0.9.5 when channel="chromium" is passed back.
Is this reproducible?
Yes
Code snippets
from crawl4ai.async_configs import BrowserConfig
from crawl4ai.browser_manager import BrowserManager
print(BrowserManager(browser_config=BrowserConfig())._build_browser_args().get("channel"))
# 0.9.0: "chromium" (full Chromium) / 0.9.1+: None (chrome-headless-shell)
Suggested fix
Skip the default channel on Windows only (sys.platform == "win32"), or let BrowserConfig force it. We currently restore it by wrapping BrowserManager._build_browser_args.
- 主要语言
- Python
- 星标
- 85.9k
- 派生
- 8.9k
- 平均合并
- 4 天 20 分钟
- 30 天内合并 PR
- 19
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
unclecode/crawl4ai 的其他 Issue
-
[Bug]: Text after an inline <link>, <meta>, <style> or <noscript> is dropped from cleaned_html and markdown可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭🐞 Bug 🩺 Needs Triage
难度 2/5 1-3 小时 新手友好度 85/100
unclecode/crawl4ai#2416 · 1 条评论 ·
维护者通常 2 天内回复
-
[Bug]: BestFirstCrawlingStrategy fetches a full batch past max_pages可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭🐞 Bug 🩺 Needs Triage
难度 2/5 1-3 小时 新手友好度 74/100
unclecode/crawl4ai#2381 · 1 条评论 ·
维护者通常 2 天内回复
-
[Bug]: CrawlerRunConfig.clone() drops fallback_fetch_function, so deep crawls never use it可能已有人在做 @siva23367 于 7 天前认领。 未关闭🐞 Bug 🩺 Needs Triage
难度 2/5 1-3 小时 新手友好度 78/100
unclecode/crawl4ai#2379 · 1 条评论 ·
维护者通常 2 天内回复
-
[Bug]: Docker memory guard reads host RAM when no container limit is set — cgroup v2 "max" defeats get_container_memory_percent可能已有人在做 @Battleplus 于 63 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
unclecode/crawl4ai#2123 · 1 条评论 ·
维护者通常 2 天内回复
-
[Bug]: SEOFilter drops keywords and weights in dump()/load()可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 38/100
维护者通常 2 天内回复
查看 unclecode/crawl4ai 的全部 Issue
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 85/100
521xueweihan/HelloGitHub#4115 ·
-
get_lldp_neighbors_detail: query asks for 'max-address' (typo for 'mac-address'), so remote_chassis_id is always empty可能已有人在做 @Jah-yee 今天认领。 未关闭
难度 1/5 1 小时以内 新手友好度 88/100
-
lesson-submission pending-review
难度 1/5 1 小时以内 新手友好度 74/100
Ikalus1988/MisakaNet#3899 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
aws-samples/sample-per-model-bedrock#549 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 90/100