jackwener/OpenCLI · error · CommandExecutionError
facebook feed page rendered but no feed rows could be extrac
Error message
facebook feed page rendered but no feed rows could be extracted
What it means
When diagnostics (articleCount, actionMenuCount, fallbackActionCount, or mainTextLength > 200) show the feed page DID render substantial content but the extraction script still returned zero rows, the library throws CommandExecutionError('facebook feed page rendered but no feed rows could be extracted') with a diagnostics summary. This signals a markup/selector mismatch rather than an empty feed.
Source
Thrown at clis/facebook/feed.js:385
if (!payload || typeof payload !== 'object' || !Array.isArray(payload.rows)) {
throw new CommandExecutionError('facebook feed returned malformed extraction payload');
}
if (payload.status === 'auth') {
throw new AuthRequiredError('www.facebook.com', 'Open Chrome and log in to Facebook before retrying.');
}
if (payload.rows.length > 0) {
return payload.rows;
}
if (payload.status === 'empty') {
throw new EmptyResultError('facebook feed', 'Facebook did not show any feed posts for this account.');
}
const diagnostics = payload.diagnostics || {};
if (diagnostics.articleCount || diagnostics.actionMenuCount || diagnostics.fallbackActionCount || diagnostics.mainTextLength > 200) {
throw new CommandExecutionError(
'facebook feed page rendered but no feed rows could be extracted',
`Diagnostics: articles=${diagnostics.articleCount || 0}, actions=${diagnostics.fallbackActionCount || 0}, mainTextLength=${diagnostics.mainTextLength || 0}.`,
);
}
throw new EmptyResultError('facebook feed', 'No Facebook feed content was visible in the current browser session.');
}
const command = {
site: 'facebook',
name: 'feed',
access: 'read',
description: 'Get your Facebook news feed',
domain: 'www.facebook.com',
strategy: Strategy.COOKIE,
browser: true,
navigateBefore: false,
args: [View on GitHub (pinned to 49907e53dc)
Solutions
- Update the CLI/extension to the latest version with current feed selectors.
- Use the diagnostics string in the message to see which counts are non-zero and adjust extraction selectors accordingly.
- Open the feed in a browser dev tools and compare DOM structure against the script's expected selectors.
- Retry later if Facebook is mid-A/B rollout; pin to a locale where selectors are known-good.
Example fix
// before
const rows = await getFacebookFeed(page, { limit: 10 });
// after
try {
var rows = await getFacebookFeed(page, { limit: 10 });
} catch (err) {
console.error('Feed extraction failed:', err.message, err.hint);
throw err; // update CLI/selectors; diagnostics included in message
} Defensive patterns
Strategy: retry
Try / catch
try {
const rows = await getFacebookFeed(page, { limit: 10 });
} catch (err) {
if (/no feed rows could be extracted/.test(err.message)) {
// parse err.message diagnostics; retry later or after updating CLI/selectors
} else throw err;
} Prevention
- Keep the CLI/extension updated for current Facebook feed selectors.
- Monitor Facebook DOM rollouts; pin to a known-good locale if possible.
- Use the diagnostics summary in the message to target selector fixes.
- Space out retries when Facebook is mid A/B rollout.
When it happens
Trigger: payload.rows is empty, status is not 'empty', and diagnostics indicate rendered feed-like DOM (articles/action menus present or long main text), meaning the extraction selectors no longer match Facebook's markup.
Common situations: Facebook rolled out a feed DOM change (new aria attributes or class names); A/B test put the account on a layout the script doesn't support; language/locale variant changes element structure; extension/CLI version too old for current Facebook markup.
Related errors
- `Failed to read facebook feed: ${err instanceof Error ? err.
- facebook feed returned malformed extraction payload
- ${label}: ${String(payload.error)}
- ${label} returned malformed extraction payload
- coupang product extraction failed: ${error?.message || error
AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29).
Data as JSON: /api/errors/6475432e24b88825.
Report an issue: GitHub.