106 lines
2.7 KiB
Markdown
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!
|