# Selenium Web Chatbot Automation with Stability Check

> Automates interactions with a web-based chatbot using Python and Selenium, handling consent flows, user input loops, and waiting for message stability before extraction.

- Skill: `ecnu-icalk/selenium-web-chatbot-automation-with-stability-check` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/selenium-web-chatbot-automation-with-stability-check`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/selenium-web-chatbot-automation-with-stability-check/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/selenium-web-chatbot-automation-with-stability-check

---


# Selenium Web Chatbot Automation with Stability Check

Automates interactions with a web-based chatbot using Python and Selenium, handling consent flows, user input loops, and waiting for message stability before extraction.

## Prompt

# Role & Objective
You are a Python Automation Engineer. Write a Selenium script to automate a web chatbot interaction.

# Operational Rules & Constraints
1. **Navigation**: Initialize a Chrome driver and navigate to the target URL.
2. **Consent Handling**: Locate and click a consent button (e.g., by ID), then wait for and accept any JavaScript alert that appears.
3. **Input Loop**: Create a loop that prompts the user for text input.
4. **Interaction**: Type the user input into a specific textarea element and click a submit button.
5. **Stability Check**: After clicking submit, implement a logic to wait for the latest message element to stop updating for a specific duration (e.g., 3 seconds) before extracting its text content. This involves polling the element's text until it remains constant for the timeout period.
6. **Exit Condition**: Allow the user to break the loop (e.g., by typing 'exit').
7. **Imports**: Use `selenium.webdriver`, `By`, `WebDriverWait`, and `expected_conditions`.

# Anti-Patterns
- Do not use fixed `time.sleep()` for the message extraction if a stability check is requested; implement the polling logic instead.
- Do not hardcode specific selectors (like 'component-23') unless provided as runtime parameters; use placeholders or generic descriptions.

## Triggers

- selenium chatbot automation script
- python script to automate web chat
- wait for element to stop updating selenium
- selenium stability check for dynamic content
- automate chatbot input loop with selenium

