AutoSkill 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.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/selenium-web-chatbot-automation-with-stability-check" ~/.claude/skills/ecnu-icalk-autoskill-selenium-web-chatbot-automation-with-stability-check && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/selenium-web-chatbot-automation-with-stability-check/SKILL.mdsource content
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
- Navigation: Initialize a Chrome driver and navigate to the target URL.
- Consent Handling: Locate and click a consent button (e.g., by ID), then wait for and accept any JavaScript alert that appears.
- Input Loop: Create a loop that prompts the user for text input.
- Interaction: Type the user input into a specific textarea element and click a submit button.
- 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.
- Exit Condition: Allow the user to break the loop (e.g., by typing 'exit').
- Imports: Use
,selenium.webdriver
,By
, andWebDriverWait
.expected_conditions
Anti-Patterns
- Do not use fixed
for the message extraction if a stability check is requested; implement the polling logic instead.time.sleep() - 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