解决WebDriverException: Message: no such execution context: frame does not have execution context

knighthood2001 2024-06-22 09:33:02 阅读 76

📚博客主页:knighthood2001

✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下)

🎃知识星球:【认知up吧|成长|副业】介绍

❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️

🙏笔者水平有限,欢迎各位大佬指点,相互学习进步!

在我前两天的博客中:

selenium中ChromeDriver配置,一把过,并且教你伪装

icon-default.png?t=N7T8

https://blog.csdn.net/knighthood2001/article/details/136533681?spm=1001.2014.3001.5501突然估摸出了chrome数据的备份

icon-default.png?t=N7T8

https://blog.csdn.net/knighthood2001/article/details/136562924?spm=1001.2014.3001.5501最新:Selenium操作已经打开的Chrome(免登录)

icon-default.png?t=N7T8

https://blog.csdn.net/knighthood2001/article/details/136549809?spm=1001.2014.3001.5501讲述的是关于selenium,以及chromedriver,以及selenium登录已经打开的chrome。

我在前面说,你不需要进行重新定义一个路径(前文终极版本里面的)

但是我在后面的实际测试中,他在一些网站中,会报错。 

selenium.common.exceptions.WebDriverException: Message: no such execution context: frame does not have execution context (Session info: chrome=122.0.6261.70)

起初我以为是我chrome版本是最新版的缘故,但是后来感觉应该不是。

然后报错中提示,框架中没有执行内容。

我在多次排查中,试着回到原始的方法。

并清空我之前将浏览器数据保存到的路径。

然后重新在目标中输入:C:\Users\Lenovo\AppData\Local\Google\Chrome\Application\chrome.exe --remote-debugging-port=9527 --user-data-dir="D:\selenium\AutomationProfile"

此时我D:\selenium\AutomationProfile中没有内容

最后就可以了。

总结:--remote-debugging-port=9527 --user-data-dir="D:\selenium\AutomationProfile"中

--remote-debugging-port=9527不能省略,因为它是代码得以连接的关键。

--user-data-dir="D:\selenium\AutomationProfile"也不建议省略,因为一旦省略,他用的虽然是你目前的浏览器(即你的书签,插件都还在),没有将其变成原始的刚下载的浏览器。但是在测试代码的时候,由于其内部文件的不同,就会导致 上文的红字报错。此外,这个路径需要是空文件夹,不然也会在测试代码的时候出错。

如果觉得重新收藏以前的书签麻烦,可以看看我的下一篇文章,是关于导出书签和导入书签的。

你在实现以上过程之前,你可以先导出书签,这样后续将chrome变成原始版的时候,可以选择导入书签。操作简单又快捷。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。