我正在尝试使用无头webkit of PhantomJs通过selenium webdriver打开google.com,但是当我执行代码系统时会抛出错误.phantomJs.exe放在E目录中.请帮我解决这个问题.
public static void main(String[] args) throws Exception {
DesiredCapabilities caps = new DesiredCapabilities();
caps.setJavascriptEnabled(true);
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "E:\\phantomjs.exe");
WebDriver driver = new PhantomJSDriver();
driver.get("http://www.google.com");
}
Run Code Online (Sandbox Code Playgroud)
错误:
线程"main"中的异常java.lang.IllegalStateException:驱动程序可执行文件的路径必须由phantomjs.binary.path功能/系统属性/ PATH变量设置; 有关更多信息,请参阅https://github.com/ariya/phantomjs/wiki.最新版本可以从http://phantomjs.org/download.html下载 在org.openqa.selenium.phantomjs.PhantomJSDriverService.createDefaultService的org.openqa.selenium.phantomjs.PhantomJSDriverService.findPhantomJS(PhantomJSDriverService.java:236)的com.google.common.base.Preconditions.checkState(Preconditions.java:197)上(PhantomJSDriverService.java:181)org.openqa.selenium.phantomjs.PhantomJSDriver.(PhantomJSDriver.java:104)at org.openqa.selenium.phantomjs.PhantomJSDriver.(PhantomJSDriver.java:94)at multidrivers.main(multidrivers.的java:35)
我已经在系统环境的路径变量中设置了 JAVA 路径,但没有定义 JAVA_HOME 变量,但我仍然可以执行我的 JAVA 程序,为什么会发生这种情况,定义 JAVA 路径时是否不需要 JAVA_HOME 变量?
我读基本Java类型(boolean,byte,char,short,int,long,float,和double)和关键字void也表示为类Class对象.那么这意味着这int是一个类的对象Class然后如何跟随语句不抛出错误因为.class只用于类名?
Class c = int.class
Run Code Online (Sandbox Code Playgroud) 我是Scala的新手,在Scala中我发现可以直接在类中写入println,尽管它不是变量或方法,这怎么可能?
即使println是一种方法,那么为什么我们不按照方法的要求在类中定义它呢?为什么尽管是一个方法,它不能直接在Java类中允许但在Scala中允许?
例如
class Hero {
println("running fine...") // Why is this println allowed in scala when its not inside a function?
}
object MainObject{
def main(args: Array[String]){
new Hero()
}
}
Run Code Online (Sandbox Code Playgroud)