A cross-browser extension for extracting data from web pages, optimized for Firefox compatibility.
- Cross-browser compatibility - Works on Chrome, Firefox, Edge, and other Chromium-based browsers
- Intelligent table detection - Automatically finds and analyzes tables on any webpage
- Multiple export formats - Download data as CSV or copy to clipboard
- Multi-page scraping - Crawl through multiple pages with pagination support
- Firefox optimized - Special compatibility layer for Firefox with enhanced security compliance
- No registration required - Works instantly on any website
- Download or clone this repository
- Open Firefox and navigate to
about:debugging - Click "This Firefox"
- Click "Load Temporary Add-on"
- Select the
manifest.jsonfile
- Open Firefox and navigate to
about:debugging - Click "This Firefox" tab
- Click "Load Temporary Add-on"
- Navigate to the extension directory and select
manifest.json - The extension will be loaded temporarily (until Firefox restart)
To create a proper Firefox extension package that passes validation:
-
Exclude problematic files - The following files should NOT be included in the Firefox package:
.git/directory (causes validation warnings)README.md(development file)validation_report.html(development file).gitignore(development file).cursor/directory (development files)js/sha256.min.js(not needed, replaced with safer hash function)js/handsontable.full.min.js(not needed in Firefox version)js/handsontable.full.min-new.js(not needed in Firefox version)js/xlsx.full.min.js(not supported in Firefox version)
-
Create clean package directory:
mkdir firefox_package cp manifest.json firefox_package/ cp background.js firefox_package/ cp popup.html firefox_package/ cp popup.js firefox_package/ cp popup.css firefox_package/ cp onload.js firefox_package/ cp onload.css firefox_package/ cp *.png firefox_package/ cp -r css firefox_package/ cp -r fonts firefox_package/ mkdir firefox_package/js cp js/jquery-3.1.1.min.js firefox_package/js/ cp js/bootstrap.min.js firefox_package/js/ cp js/papaparse.min.js firefox_package/js/ cp js/FileSaver.js firefox_package/js/ -
Create .xpi file:
cd firefox_package zip -r ../instant_data_scraper_firefox.xpi *
- Navigate to any webpage with tabular data
- Click the extension icon in your browser toolbar
- Wait for analysis - The extension will automatically detect tables
- Preview the data - Review the extracted information
- Export your data - Download as CSV or copy to clipboard
- Multi-page scraping (optional) - Click "Locate Next" to crawl multiple pages
- Wikipedia tables
- E-commerce product listings
- News websites with data tables
- Government data portals
- Academic research sites
- And many more!
This extension includes special compatibility enhancements for Firefox:
- Enhanced content script injection with multiple fallback methods
- Alternative table detection algorithms for stricter security environments
- Cross-browser API normalization
- Graceful degradation when content security policies are restrictive
- Cross-browser APIs - Uses both
browser.*andchrome.*namespaces - Content Security Policy compliant - Works within Firefox's strict security model
- jQuery integration - Includes fallbacks for jQuery loading
- Error resilience - Multiple detection and extraction methods
- Privacy focused - All processing happens locally, no data sent to external servers
manifest.json- Extension configurationbackground.js- Background scriptpopup.html- Extension popup interfacepopup.js- Main popup logicpopup.css- Popup stylingonload.js- Content script for table detectiononload.css- Content script stylingpokeball*.png- Extension icons
js/jquery-3.1.1.min.js- DOM manipulationjs/bootstrap.min.js- UI componentsjs/papaparse.min.js- CSV parsingjs/FileSaver.js- File download functionality
css/- Additional stylingfonts/- Font fileswebrobots_logo.png- Branding image
This version has been optimized to pass Firefox Add-on validation:
- No eval() usage
- Safe DOM manipulation
- Proper manifest format
- No flagged file types
- Security compliance
- No git files included
- Replaced
innerHTMLassignments with safe DOM manipulation - Removed eval()-based libraries (sha256, handsontable)
- Implemented custom hash function for content comparison
- Fixed Content Security Policy compliance
- Uses
browser_specific_settingsinstead of deprecatedapplications - Removed unsupported
incognito: "split"setting - Updated minimum Firefox version to 79.0 for proper browser_action support
- Removed problematic library dependencies
- No Handsontable: Uses simple HTML table for preview instead
- No XLSX Export: Only CSV export available (uses PapaParse)
- Simplified UI: Reduced external dependencies for better compatibility
- Enhanced Error Handling: Better handling of Firefox-specific APIs
The extension uses a compatibility pattern:
const browserAPI = (typeof browser !== 'undefined') ? browser : chrome;This ensures the extension works in both Firefox (which uses browser API) and Chrome (which uses chrome API).
- Test in Firefox Developer Edition for latest features
- Test in regular Firefox for compatibility
- Verify all table detection and extraction features work
- Test multi-page scraping functionality
- Verify CSV export works correctly
This extension:
- Processes data locally - All table extraction and processing happens in your browser
- Does not collect personal information - No tracking, analytics, or data collection
- Does not transmit data - No network requests to external servers
- Requires minimal permissions - Only requests access to active tabs when needed
For issues, feature requests, or questions:
- Create an issue in this repository
- Check existing issues for solutions
- Review the browser console for error messages
This project is provided as-is for educational and personal use.
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test across browsers
- Submit a pull request
Instant Data Scraper - Making web data extraction simple and accessible for everyone.