测试的过程中,遇到一个问题,直接打开chrome浏览器,涉及到文档编辑的流程,可以打开文档并进行编辑,但是,通过selenium webdriver打开的浏览器,却无法编辑文档,插件无法加载成功。
此问题曾一度卡住进度两天无法解决,网上搜索了很多次,也没有找到很好的解决办法,大部门解决办法都是告诉直接通过浏览器插件的安装,但使用了发现也无法生效。其中也试图了解是否前端研发人员能否帮忙解决,但分析后,感觉和前端无关,所以又尝试其他办法。
最后,思路回到浏览器上,既然浏览器相同,那肯定是系统浏览器的配置和webdriver中浏览器的配置不同造成的。
尝试使用相同的配置,代码如下:
# 路径为本地浏览器配置的用户数据路径
options.add_argument(r'--user-data-dir=
C:\user\administrator\AppData\Local\Google\User Data')
发现并未解决问题。
忽然灵机一动,通过chrome的version命令 ,查看配置,打开chrome浏览器,在输入栏输入:chrome://version,意外收获,发现在命令行中,有如下设置-- register-pepper-plugins="C:Programe Files(x86)\xxChromePlugin\xxChromePlugin_32.dll;application/kg-plugin",可知chrome浏览器启动时,是直接通过命令行加载了插件,所以,在selenium初始化脚本时,加入如下代码:
options.add_argument(r'-- register-pepper-plugins="C:Programe Files(x86)\xxChromePlugin\xxChromePlugin_32.dll;application/kg-plugin"')
再次执行测试,发现启动插件成功!