抛出NoSuchElementException异常就意味着计算机没有找到你想要的元素。请逐条寻找你是否犯了以下错误:
定位方式是否有误。尽量不用class、tagname这类容易重复的定位方式。尽量不用从浏览器复制xpath路径,往往浏览器给出的xpath路径过于复杂,不易找到。
id值或其他属性值发生变化。当你第一次打开网页,id值为1;刷新网页id值可能会变为2;在页面上执行一些其他操作,id值可能变成3。也就是说id值成为了变量,这时你可以用start-with方法,或者换一个定位方式。
display为none。如果元素被隐藏,是无法找到该元素的。使用js改变属性值。
页面未加载完毕。这是一个常见的问题源头,页面过于复杂,而你要找的元素又在靠下的位置。在找元素前Thread.sleep几秒试一试。
存在多个界面,焦点位置不在当前界面。焦点在A界面,代码找的就是A界面的元素。然而你要找的元素在B界面。关闭多余界面。
存在iframe嵌套的情况。iframe中又有一层body,如果目标元素在iframe里面,就要进入新的一层body,记得的找完了再跳出。
遇到新问题再继续总结...