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.md
source 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

  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