当前位置: 首页 > 知识库问答 >
问题:

如何从我的类启动构造函数?

万楷
2023-03-14

我有这个问题,这让我发疯,我有这个课程

    package Test;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Firefox {

    String keyFirefox = "webdriver.gecko.driver";
    String valueFirefox = "...path/geckodriver.exe";

    public Firefox(){
        System.setProperty(keyFirefox, valueFirefox);
    }

    WebDriver Firefox = new FirefoxDriver();
}

在我的主类中,我实例化了前一个类,并且可以毫无问题地访问属性

package Test;


public class EntryPoint {

    public static void main(String[] args) {


        Firefox firefoxBrowser = new Firefox();
        firefoxBrowser.Firefox.get("https://www.amazon.com.mx/");


    }

}

但是当它编译它返回给我一个错误:

线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性;有关更多信息,请参阅https://github.com/mozilla/geckodriver.最新版本可从以下网站下载:https://github.com/mozilla/geckodriver/releases

非常感谢。

共有1个答案

符风畔
2023-03-14

如果您想在设置属性后创建驱动程序,请尝试

public class Firefox {

    static final String FIREFOX_DRIVER = "webdriver.gecko.driver";
    static final String FIREFOX_DRIVER_PATH = "...path/geckodriver.exe";

    WebDriver driver;

    public Firefox(){
        System.setProperty(FIREFOX_DRIVER, FIREFOX_DRIVER_PATH);
        driver = new FirefoxDriver();
    }


}
 类似资料:
  • 我如何简化这一点: 有必要有两个不同的构造函数,只有一点区别吗? 有没有一种方法可以简单地使用其中一种?

  • 当一个对象被创建时(当构造函数被调用时),有没有一种替代的方法来启动一个线程。我知道你不能在构造函数中启动线程。但是如果我在类中有两个方法(类被称为任务),它们实现了Runnable: run(),连续的Recv()。run()方法调用连续的Recv()函数。连续的Recv()做一些事情。然后我在公共类中创建了一个私有类,名为start ContRecv(),在构造函数调用中启动线程,就像这样 我

  • 问题内容: 我需要在PHP中有一个类构造函数,而不调用父构造函数来调用其父母的 父母 (祖父母?)构造函数。 我知道这是一件奇怪的事情,我正在尝试找到一种闻起来并不难闻的方法,但是尽管如此,我很好奇。 问题答案: 丑陋的解决方法是将一个布尔参数传递给Papa,指示您不希望解析其构造函数中包含的代码。即:

  • 我在班里学习。出于好奇,我扩展了具有参数化构造函数的内部类。但是当我编写super(inti)来调用它时,代码不会编译。 因为内部类是外部类的一部分(成员),必须通过外部类访问它们。如何调用测试类的超级构造函数。 编译错误是:由于某些中间构造函数调用,没有外部类型的封闭实例可用

  • 在Akka中,您可以在构造函数中初始化参与者的状态。此外,作为参与者生命周期的一部分,可以重写方法来初始化参与者的状态,并将调用: 第一次启动执行元时,在它开始处理第一条消息之前 重新启动执行元时,除非重写以不调用它 这两种方式(构造函数和)似乎涵盖了参与者启动阶段的重叠阶段,稍有不同的是,构造函数保证在重新启动时被调用,而可以跳过,前提是重写。 关于在哪种情况下使用哪一种,是否有公认的或文档化的

  • 在我的超类中,我定义了参数a、b、c和d。对于它的子类,我想删除d。我有什么办法做到这一点吗? 在我的子类中,我想创建一个没有最后一个参数“东西”的构造函数 这样写会给我一个错误,子类TypeBPDescription中的构造函数是未定义的。我希望子类不包含“thing”,但我希望我的超类包含它。有什么办法吗?