我遵循本教程:http://www.joecolantonio.com/2014/07/02/selenium-autoit-how-to-automate-non-browser-based-functionality/在Windows中自动化非浏览器应用程序。
import java.io.File;
import autoitx4java.AutoItX;
import com.jacob.com.LibraryLoader;
import java.lang.System;
public class CalcTest {
/**
*
* Returns if the JVM is 32 or 64 bit version
*/
public static String jvmBitVersion(){
return System.getProperty("sun.arch.data.model");
}
public static void main(String[] args) throws InterruptedException {
String jacobDllVersionToUse;
if (jvmBitVersion().contains("32")){
jacobDllVersionToUse = "jacob-1.18-x86.dll";
}
else {
jacobDllVersionToUse = "jacob-1.18-x64.dll";
}
File file = new File("lib", jacobDllVersionToUse);
System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());
AutoItX x = new AutoItX();
x.run("calc.exe");
x.winActivate("Calculator");
x.winWaitActive("Calculator");
//Enter 3
x.controlClick("Calculator", "", "133") ;
Thread.sleep(1000);
//Enter +
x.controlClick("Calculator", "", "93") ;
Thread.sleep(1000);
//Enter 3
x.controlClick("Calculator", "", "133") ;
Thread.sleep(1000);
//Enter =
x.controlClick("Calculator", "", "121") ;
}
}
我收到以下错误:
Exception in thread "main" com.jacob.com.ComFailException: Can't co-create object
at com.jacob.com.Dispatch.createInstanceNative(Native Method)
at com.jacob.com.Dispatch.<init>(Dispatch.java:99)
at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:58)
at autoitx4java.AutoItX.<init>(AutoItX.java:181)
at CalcTest.main(CalcTest.java:30)
教程说我应该在cmd中运行regsvr32 C:\install\AutoItX\AutoItX3_x64.dll
但是我一直收到以下错误:
The module "C:\install\AutoItX\AutoItX3_x64.dll" was loaded but the call to DllRegisterServer failed with error code 0x80070005
我不知道该怎么做。
答案 0 :(得分:2)
以下解决方案对我有用:
复制AutoItX3_x64.dll
个文件。您可以在C:\Program Files (x86)\AutoIt3\AutoItX
。
将其粘贴到C:\Windows\System32
。
打开cmd提示符,以管理员身份运行。输入regsvr32 AutoItX3_x64.dll
,然后按输入。
当AutoItX3_x64.dll中的DllRegisterServer成功时,您将收到一条消息提示。
答案 1 :(得分:0)
我必须以管理员身份运行cmd。也许还有这个。我相信有一天有人会发现自己在同一条船上......
答案 2 :(得分:-1)
在cmd中以管理员身份登录运行,因为您使用的是64位操作系统,请在路径C:\ Windows \ SysWOW64
中运行它并且在路径中运行32位,C:\ Windows \ System32
- Swapna Mhatre