stock-bot/test-browser.ts
2025-06-13 13:38:02 -04:00

62 lines
1.9 KiB
TypeScript

import { Browser, BrowserTabManager } from './libs/browser/src';
async function testSimplifiedBrowser() {
console.log('Testing simplified browser library...');
try {
console.log('Initializing browser...');
await Browser.initialize({
headless: true,
blockResources: true,
timeout: 10000,
});
// Test single page with proxy support
console.log('Testing page creation...');
const { page, contextId } = await Browser.createPageWithProxy(
'https://httpbin.org/json',
'http://doimvbnb-US-rotate:w5fpiwrb9895@p.webshare.io:80'
);
const content = await Browser.evaluate(page, () => document.body.textContent);
console.log('Page content:', content?.substring(0, 100) + '...');
// Test tab manager (no longer needs browser instance)
console.log('Testing tab manager...');
const tabManager = new BrowserTabManager();
// Test multiple URL scraping with different proxies
const urlProxyPairs = [
{ url: 'https://httpbin.org/uuid', proxy: '' }, // No proxy
{ url: 'https://httpbin.org/ip', proxy: '' }, // No proxy
];
const results = await tabManager.scrapeUrlsWithProxies(
urlProxyPairs,
async page => {
const text = await page.textContent('body');
return { content: text?.substring(0, 50) };
},
{ concurrency: 2 }
);
console.log('Scraping results:');
results.forEach((result, index) => {
console.log(` ${index + 1}. ${result.url}: ${result.success ? 'SUCCESS' : 'FAILED'}`);
if (result.data) {
console.log(` Data: ${result.data.content}...`);
}
});
// Clean up
await page.close();
await Browser.closeContext(contextId);
await Browser.close();
console.log('✅ Simplified browser test completed successfully!');
} catch (error) {
console.error('❌ Browser test failed:', error);
}
}
testSimplifiedBrowser();