当我添加 springboot </跨度> 插入我的Selenium应用程序。硒停止工作。
这是我的最小示例代码:
import org.openqa.selenium.WebDriver;当我添加时导入 springboot </跨度> 我的朋友,像这里:
‘testSeleniumasdf’组版本’1.0-SNAPSHOT’
buildscript { 存储库{ mavenCentral() } 依赖{ classpath锟
不确定你使用springboot的是什么,因为你的代码不使用它,但是它的价值是Springboot有一个不同于典型的主类。
尝试改变你的主要像这样:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class Main implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(Main.class, args); } @Override public void run(String... args) throws Exception { System.setProperty("webdriver.gecko.driver", "/home/rafal/geckodriver"); WebDriver webDriver = new FirefoxDriver(); webDriver.get("http://google.com"); } }
SpringApplication.run方法将启动一个tomcat服务器并执行其他操作 魔法 这将使春天快乐,而且 运行方法 利用Spring框架在Spring初始化之后但在SpringApplication.run方法完成之前立即执行逻辑。
我必须明确地定义所有的selenium依赖,而不仅仅是selenium-java。使用这些其他selenium依赖项更新您的gradle依赖项。
compile "org.seleniumhq.selenium:selenium-server:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-java:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-leg-rc:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-api:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-chrome-driver:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-edge-driver:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-firefox-driver:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-ie-driver:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-opera-driver:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-remote-driver:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-safari-driver:${seleniumVersion}" compile "org.seleniumhq.selenium:selenium-support:${seleniumVersion}"