报错关键信息:
stale element reference
element is not attached to the page document
官方文档说明:
https://www.seleniumhq.org/exceptions/stale_element_reference.jsp
官方认为报错的原因有2种:
The element has been deleted entirely.
The element is no longer attached to the DOM.
总结下就是元素找不到了。
修改要点:
获取元素对象和元素操作2个步骤之间:
1.不要有很长的等待时间(长时间意味着有可能会有意外的页面刷新和弹窗)。
2.不要有其他的元素操作(比如点击关闭弹窗、浮层等)
WebElement goChooseShiftBt = browser.findElement(By.xpath(goChooseShift));
// ..... 中间省略了100行代码
goChooseShiftBt.click();
改为
WebElement goChooseShiftBt = browser.findElement(By.xpath(goChooseShift));
goChooseShiftBt.click();
// ..... 中间省略的100行代码
修改后问题解决。