開発環境:IntelliJ IDEA
Windows 10 64bit
仕事でJavaを急遽使う事になりました。
簡単なコードを書き、JARファイルの作成を行いまして生成されたものを実行したのですが、クリックしても何も反応が起きません。
実行では問題なく動作します。
プログラムの内容:
ウィンドウを表示し、SeleniumよりGoogle Chromeを起動。プラウザを閉じて本体も終了する。
プロジェクトは、デスクトップのTestAppフォルダです。
Main.java
Java
1package sample; 2 3import javafx.application.Application; 4import javafx.scene.Scene; 5import javafx.scene.layout.VBox; 6import javafx.stage.Stage; 7 8import org.openqa.selenium.WebDriver; 9 10public class Main extends Application { 11 12 private WebDriver _driver = null; 13 @Override 14 public void start(Stage primaryStage) throws Exception{ 15 VBox root = new VBox(); 16 Scene scene = new Scene( root , 1000, 600 ); 17 primaryStage.setScene( scene ); 18 primaryStage.show(); 19 20 _driver = SelDriverFactory.setupChromeDriver(".\\lib\\chromedriver.exe"); 21 _driver.quit(); 22 23 System.exit(0); 24 } 25
SelDriverFactory.java
Java
1package sample; 2 3import org.openqa.selenium.WebDriver; 4import org.openqa.selenium.chrome.ChromeDriver; 5 6import java.util.concurrent.TimeUnit; 7 8public class SelDriverFactory { 9 public static ChromeDriver setupChromeDriver(String strChromeDriverExePath) { 10 System.setProperty("webdriver.chrome.driver", strChromeDriverExePath); 11 return initDriver(new ChromeDriver()); 12 } 13 14 private static <T extends WebDriver> T initDriver(T driver) { 15 driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 16 driver.manage().window().maximize(); 17 return driver; 18 } 19}
Selenium公式サイトよりダウンロードしたものをlibフォルダに入れてプロジェクトのルートに設置しています。
プロジェクト構造は以下のように設定しております。
また、cmdにて
「cd デスクトップ+TestApp」→「javac Main.java」と実行したところ以下のエラーメッセージが出ました。
org.openqa.selenium
何度か調べましたが、良く分かりませんでした。
よろしくお願い致します。
追記
下記のコードを削除して実行したところ起動はしました。
ただ、もう一度そのコードを挿入してディレクトリの(".\lib\chromedriver.exe")の部分を\lib\chromedriver.exeやchromedriver.exeにしたところ起動しなくなります。もちろん同ディレクトリにchromedriver.exeを置いています。
Java
1_driver = SelDriverFactory.setupChromeDriver(".\\lib\\chromedriver.exe");
追記
Java
1 try { 2 _driver = SelDriverFactory.setupChromeDriver(".\\lib\\chromedriver.exe"); 3 _driver.quit(); 4 }catch(Throwable e){ 5 e.printStackTrace(); 6 System.out.println(e); 7 System.exit(0); 8 }
上記のcatch部分のSysytem.out.printlnコードを実際はalertに変更し、実行したところエラーが表示されました。
しかし成果物を実行したところ、やはり起動しませんでした。
cmdより「java -jar TestApp.jar」と実行したところ、以下のエラーが出ました。
回答2件
あなたの回答
tips
プレビュー