chromedriver的版本一定要与Chrome的版本一致,不然就不起作用。
查看电脑安装的谷歌浏览器版本
在浏览器中输入chrome://version/
建议关闭谷歌自动更新,防止后续版本不对应,具体参考
https://jingyan.baidu.com/article/b87fe19e8876e91318356893.html
下载对应版本chromedriver
1、http://chromedriver.storage.googleapis.com/index.html
进入文件夹后,如是win32/64系统则选择如下
解压压缩包,找到chromedriver.exe复制到chrome的安装目录(我的在默认安装路径下C:Program Files (x86)GoogleChromeApplication )
复制chromedriver.exe文件的路径并加入到电脑的环境变量中去。
操作步骤:我的电脑-右击-属性-高级系统设置-环境变量-Path-编辑-输入chromedriver所在位置 如 C:Program Files (x86)GoogleChromeApplication-点击确定按钮
1、attempted duplicate class definition for name
问题代码就出在:ctClass.toClass(); 这行代码上,从问题描述上来看,是重复加载了同一个类导致的。强烈建议参考 使用javassist运行时动态修改字节码对象。
javassist调用了 ClassLoader 的 defineClass 方法实现的类加载,调用java.lang.ClassLoader#defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain)方法要确保一个类只会被同一个ClassLoader加载一次,否则就会报错:
javassist.CannotCompileException: by java.lang.ClassFormatError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate class definition for name: “com/ymqx/动态增加属性和注解/Person”
at javassist.util.proxy.DefineClassHelper.toClass(DefineClassHelper.java:271)
at javassist.ClassPool.toClass(ClassPool.java:1240)
at javassist.ClassPool.toClass(ClassPool.java:1098)
at javassist.ClassPool.toClass(ClassPool.java:1056)
at javassist.CtClass.toClass(CtClass.java:1298)
2、class redefinition failed: attempted to change the schema (add/remove fields)
文章转自:Testng+java+chromedriver_Java-答学网
作者:答学网,转载请注明原文链接:http://www.dxzl8.com/