?博客主页:knighthood2001
✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下)
?知识星球:【认知up吧|成长|副业】介绍
❤️感谢大家点赞??收藏⭐评论✍?,您的三连就是我持续更新的动力❤️
?笔者水平有限,欢迎各位大佬指点,相互学习进步!
在我前两天的博客中:
selenium中ChromeDriver配置,一把过,并且教你伪装https://blog.csdn.net/knighthood2001/article/details/136533681?spm=1001.2014.3001.5501突然估摸出了chrome数据的备份https://blog.csdn.net/knighthood2001/article/details/136562924?spm=1001.2014.3001.5501最新:Selenium操作已经打开的Chrome(免登录)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变成原始版的时候,可以选择导入书签。操作简单又快捷。