ynab-amazon-helper/TROUBLESHOOTING.md
2025-11-04 12:27:02 -05:00

106 lines
2.7 KiB
Markdown

# Troubleshooting - Collecting Debug Output
## Step 1: Make sure you have a .env file set up
Check that you have a `.env` file with at least:
```
YNAB_API_TOKEN=your_token
YNAB_BUDGET_ID=your_budget_id
OPENAI_API_KEY=your_openai_key
```
## Step 2: Start the server
In your terminal, run:
```bash
bun --hot server.ts
```
You should see:
```
🚀 Server running at http://localhost:3000
```
## Step 3: Open the web interface
Open your browser and go to:
```
http://localhost:3000
```
## Step 4: Start the scraping process
1. On the web page, make sure "Use Unapproved Transactions Only" is checked (it should be by default)
2. Click the **"Fetch & Match Transactions"** button
## Step 5: Log in to Amazon manually
A browser window will open automatically. You have 45 seconds to:
1. Log in to Amazon if prompted
2. Complete any 2FA or CAPTCHA
3. Wait for the transactions page to load
## Step 6: Watch the terminal output
Back in your terminal where you ran `bun --hot server.ts`, you'll see output like:
```
Navigating to Amazon transactions page...
Please log in manually if needed. The browser will wait for you.
Waiting 45 seconds for you to complete login (if needed)...
Screenshot saved to debug-transactions-page.png
HTML saved to debug-transactions-page.html
Extracting transaction data...
Debug Info:
- Total divs on page: 1234
- Relevant class names found: [ ... ]
- Data-testid attributes found: [ ... ]
- First 500 chars of page: ...
Extracted 0 transactions
WARNING: No transactions were extracted from the page!
```
## Step 7: Collect the debug files
After the scraping completes, you'll have two new files in your project folder:
- `debug-transactions-page.png` - Screenshot
- `debug-transactions-page.html` - Full HTML
## Step 8: Analyze the HTML (optional)
Run this to see what's in the HTML:
```bash
bun inspect-page.ts
```
## What to share for help
Copy and paste:
1. The entire terminal output from "Debug Info:" onwards
2. Look at `debug-transactions-page.png` - does it show your transactions?
3. If you can, share the output from `bun inspect-page.ts`
## Quick Test
If you just want to test the scraper without the full app, you can create a simple test file:
```typescript
// test-scraper.ts
import { AmazonScraper } from './amazon-scraper';
const scraper = new AmazonScraper();
const endDate = new Date();
const startDate = new Date();
startDate.setDate(startDate.getDate() - 30);
const orders = await scraper.scrapeOrders(startDate, endDate);
console.log('Orders found:', orders.length);
console.log('Orders:', JSON.stringify(orders, null, 2));
```
Then run:
```bash
bun test-scraper.ts
```
This will open the browser, let you log in, and show you all the debug output!