Selenium 处理弹窗、iframe、滚动条实战 弹窗、iframe 嵌套、页面滚动是 UI 自动化的三大经典卡点90% 的新手卡在这里无法继续执行脚本。本文手把手实战讲解标准处理方案解决页面特殊场景适配问题。一、三种弹窗实战处理1. 原生 JS 弹窗alert/confirm/promptSelenium 专属切换弹窗方法支持确认、取消、获取弹窗文本、输入弹窗内容。原生弹窗无法通过元素定位操作必须切换弹窗句柄。2. 自定义弹窗div 弹窗页面主流弹窗本质是隐藏/显示 div直接通过常规元素定位、点击关闭、确认按钮即可操作。3. 超时弹窗、延迟弹窗搭配显性等待等待弹窗出现后再操作避免弹窗未加载导致报错。二、iframe 嵌套页面处理高频难点页面嵌套 iframe 时外部无法直接定位内部元素必须切入 iframe 再操作操作完成切回主页面。1. 切入 iframe 三种方式通过索引切入、通过 name/id 切入、通过元素对象切入。2. 切回主页面操作完内部元素必须切回默认主页面否则后续外部元素全部定位失败。3. 多层 iframe 嵌套逐层切入、逐层切回不能跨层操作。三、页面滚动条实战处理页面元素在可视区域外需要滚动展示元素后才能点击、输入否则会报元素不可见错误。1. 滚动到页面底部/顶部执行 JS 脚本控制页面滚动。2. 滚动到指定元素位置最常用定位目标元素执行滚动居中展示适配所有超长页面、分页内容。3. 横向滚动、局部滚动针对表格、侧边栏局部滚动场景专属适配。四、综合实战避坑1. 忘记切回 iframe 导致后续全部报错2. 元素在可视区外未滚动导致点击失败3. 弹窗未等待直接操作导致随机报错4. 多层嵌套未逐层切换。