java - java中可以动态导入包吗?

标签 java import

我正在 Selenium Java 上开发自动化测试,以下是我的笔记本电脑的配置。

操作系统:Windows 7 Ultimate。

我知道java类中的导入行出现在包行之后,例如

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

但导入行有可能根据某些条件动态出现,而不是硬编码。因为我有菜单:

Menu image here

并且想要根据发送到被调用方法的用户选择导入和创建驱动程序实例。 喜欢

public static void Setup(String browser)
{
    if(browser=="Chrome")
    {
        import org.openqa.selenium.WebDriver;
        import org.openqa.selenium.chrome.ChromeDriver;
        System.setProperty("webdriver.chrome.driver", "d:/chromedriver.exe");
        WebDriver cd = new ChromeDriver();
    }
}

最佳答案

如果您的目标是“本地化”这些导入,您可以只使用完全限定名称:

public static void setup(String browser) {
    if (browser.equals("Chrome")) {
        System.setProperty("webdriver.chrome.driver", "d:/chromedriver.exe");
        org.openqa.selenium.WebDriver cd = new org.openqa.selenium.chrome.ChromeDriver();
    }
}

否则,不,无法在这样的类中编写 import 语句,它们必须位于文件的顶部。

顺便说一句,您应该将 String.equals() 进行比较,如上面的示例所示。

关于java - java中可以动态导入包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50964721/

相关文章:

java - 我的界面触发时得到 NullPointerException

java - 在 libgdx 中处理不同屏幕游戏中 Sprite 的最佳方法

java - 从 HashMap<String, ArrayList<String>> 获取值

java - 自定义服务器的 SSL_ERROR_RX_RECORD_TOO_LONG

opengl - 通过 Opengl 和 GLUT 在 Haskell 中编程

python - 这种在 Python 中导入模块的方法是否会导致循环?

python-3.x - 属性错误: type object 'numpy.ndarray' has no attribute '__array_function__' on import numpy 1. 15.4

java - android 2 方式数据绑定(bind)示例不按描述工作

java - Java错误-错误的源文件:文件不包含类x。请删除或确保它出现

jsp - 在 JSP 中包含/导入文件之前,如何检查文件是否存在?