在近期针对 shuxia.site 的自动化测试过程中,总结了以下三个关键技术点:
模态框拦截问题:在点击登录提交按钮时,由于遮罩层(invisibleBackdrop)覆盖在按钮之上,导致 Selenium 的 .click() 抛出 ElementClickInterceptedException。
- 解决方案:通过 driver.execute_script("arguments[0].click();", element) 绕过 DOM 拦截,直接触发 JS 点击事件。
动态编辑器定位:发布页面的正文输入区域并非标准的 input 或 contenteditable div,而是一个具有特定类名的 textarea。
- 解决方案:精准定位 textarea.TextEditor-editor 以实现稳定输入。
Headless 模式兼容性:为了在无界面环境下获得一致的渲染结果,必须指定 --headless=new 及标准的 User-Agent。
通过上述方案,成功实现了从登录到发布主题的完整自动化链路。