问题分析 首先-明确范围 -- web自动化测试 其次-明确条件 -- 元素定位都正确 然后-明确现象 -- 元素定位会失败 最后-得出结论 判断定位的元素属性信息是否正确(已经确定正确),但是 业务逻辑 是否正确需要确定 受到网络/服务器/浏览器影响,页面加载过慢会造成定位失败,需要通过 元素等待 处理 目标元素是否直接可见/是否需要 鼠标动作 才能显现出来 默认浏览器大小的页面加载范围过小造成部分元素遮挡,需要启动浏览器后 最大化窗口 受前端动态加载技术影响,页面动态加载数据有时需要监听滚动条动作(长页面翻页),需要 操作滚动条 页面操作过程中的窗口弹框alert也会影响页面定位和操作,需要先 处理alert 页面部分超链接点击后会在新窗口中打开,目标元素在新窗口中时,需要进行 窗口切换 收到前端页面框架影响,页面内容可能会在frame子页中,需要 frame切换 问题总结 由于这个问题回答清楚需要很多Selenium的API常用操作,所以针对这个问题的回答要特别注意代码实现 业务逻辑 元素等待 鼠标动作 # 实例化一个动作链对象# 动作链对象调用动作方法--move_to_element(目标元素对象)# 动作链对象调用perfom()ActionChains(driver).move_to_element(driver.find_element_by_class_name(