我有一个用Java和Selenium编写的测试,基本上可以搜索提供程序。然后,点击提供者的将此位置地图链接,然后打开一个google地图。切换到新窗口后,我将等待该地图的xpath可见性。
URL类似于
这已经工作了一年了。今天我们更新到Chrome版本74.0.3729.108(正式版本)(64位),因此我们用74.0.3729.6替换了旧的Chromedriver(现在给我们一个错误,Chrome版本必须在70到73之间)我们的首席开发人员从网站上下载的。
问题是,现在,仅对于某些地址,我会收到该错误 未知错误:无法从此类执行上下文中确定加载状态
建议一些堆栈溢出项目
1. Updating the Chrome Driver
2. Using a longer timeout
从上面可以看到,我们更新了chromedriver,使其与Chrome版本保持一致。我也将超时时间更新为300秒(5分钟),但都没有用。
我对导致问题的其他原因一无所知。我等待的xpath是 // div [@ aria-label ='Map'] ,但我现在也尝试了其他xpath,例如“ // div [@ id ='streetviewcard']” 。我验证了切换到的窗口是driver.getWindowHandles()。get(1)。我已经保存了原始手柄,因此可以切换回去。我看着所有的窗把手,只有两个,原来的一个和我切换到的那个。
没有其他搜索可以提供有用的信息。
答案 0 :(得分:0)
我完全一样的错误,移至v74。
chromedriver或chrome必须更改某些东西-我假设打开一个新标签页后,执行比以前更快。很难说出实际发生了什么变化,但最终我还是通过睡眠解决了问题:
此外,值得注意的是,getWindowHandles()以未定义的顺序返回-因此根据您的用例,可能需要一些额外的处理。