A powerful Chrome extension that helps users find and interact with content on web pages. Built with React, TypeScript, and Material-UI, it provides an intuitive way to search for text and interact with clickable elements on any webpage.
- 🔍 Smart Text Search: Quickly find any text on the webpage
- 🎯 Clickable Element Detection: Automatically identifies and helps you interact with buttons and links
- ⚡ Top-Down Search: Prioritizes finding matches from the top of the page
- 🎨 Visual Highlighting:
- Highlights matches with a blue background and white text
- Adds a pulsing animation to draw attention
- Auto-fades after 15 seconds
- 📱 Smart Navigation:
- "Take Me There" button appears when clickable elements are found
- Automatically clicks the element for you
- 🔄 Dynamic Content Support: Works with dynamically loaded content
- 🎨 Modern Material UI: Clean and intuitive interface with loading states
- ⚡ Instant Feedback: Real-time search results and error messages
- 🔒 Safe Operation: Works entirely client-side with no data collection
- Clone the repository:
git clone https://github.com/Praise-Bah/Chrome-Extension-Web-Help.git
cd Chrome-Extension-Web-Help
- Install dependencies:
npm install
- Build the extension:
npm run build
- Load the extension in Chrome:
- Open Chrome and navigate to
chrome://extensions/
- Enable "Developer mode"
- Click "Load unpacked"
- Select the
dist
folder from your project directory
- Open Chrome and navigate to
- Click the extension icon in your browser toolbar
- Enter your search text (minimum 2 characters)
- Press Enter or click the Search button
- The extension will:
- Highlight the first match on the page
- Scroll to the matched content
- Show a "Take Me There" button if the match is clickable
- Click "Take Me There" to automatically click the matched element
- Highlight Duration: Highlights automatically fade after 15 seconds
- Continuous Search: You can search for new terms before the previous highlight expires
- Error Handling: Clear messages when:
- No matches are found
- The page has restrictions
- The search text is too short
The extension detects various types of clickable elements:
- HTML buttons and links
- Elements with click handlers
- Elements with role="button"
- Elements with cursor: pointer style
- Interactive elements in dynamic content
- Node.js (v14 or higher)
- npm or yarn
src/
├── components/ # React components
├── popup/ # Extension popup UI
├── contentScript/ # Page interaction logic
└── css/ # Styles
npm run dev
- Start development modenpm run build
- Build production versionnpm run test
- Run testsnpm run lint
- Run linting
The extension may have limited functionality on:
- Sites with strict Content Security Policy (CSP)
- Cross-origin iframes
- Some Single Page Applications (SPAs)
- Websites that actively prevent content modification
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Material-UI for the interface
- Uses webextension-polyfill for cross-browser support
- Based on React TypeScript Web Extension Starter