バージョン
java version "11.0.8" 2020-07-14 LTS
エラー内容
javafxでseleniumのライブラリを追加し、ビルドパスの設定は終わったのですが記述してみるとimportのところで下記のエラーが出てしまいます。
javafxを使わなければ問題なくimportされdriverを起動できたので必要なライブラリはそろっていると思います。
モジュールに何か付けた足す必要があるのかと思ったのですが、理解が及ばず手を加えることができませんでした。
インポートされた org.openqa.selenium.chrome.ChromeDriver は見つかりません インポートされた org.openqa.selenium.chrome.ChromeDriver は見つかりません
該当のソースコード
main
1package application; 2 3import javafx.application.Application; 4import javafx.fxml.FXMLLoader; 5import javafx.scene.Scene; 6import javafx.scene.layout.AnchorPane; 7import javafx.stage.Stage; 8 9 10public class Main extends Application { 11 @Override 12 public void start(Stage primaryStage) { 13 try { 14 AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource("TablePractice.fxml")); 15 Scene scene = new Scene(root,600,400); 16 scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 17 primaryStage.setScene(scene); 18 primaryStage.show(); 19 } catch(Exception e) { 20 e.printStackTrace(); 21 } 22 } 23 24 public static void main(String[] args) { 25 launch(args); 26 } 27} 28
controller
1/** 2 * "TablePractice.fxml"コントローラ・クラスのサンプル・スケルトン 3 */ 4 5package application; 6 7import java.net.URL; 8import java.util.ResourceBundle; 9 10import org.openqa.selenium.WebDriver; //エラーの出ている箇所 11import org.openqa.selenium.chrome.ChromeDriver; //エラーの出ている箇所 12 13import javafx.collections.FXCollections; 14import javafx.collections.ObservableList; 15import javafx.fxml.FXML; 16import javafx.scene.control.TableColumn; 17import javafx.scene.control.TableView; 18 19public class TablePracticeController { 20 21 @FXML // ResourceBundle that was given to the FXMLLoader 22 private ResourceBundle resources; 23 24 @FXML // URL location of the FXML file that was given to the FXMLLoader 25 private URL location; 26 27 @FXML // fx:id="table" 28 private TableView<Person> table; // Value injected by FXMLLoader 29 30 @FXML // fx:id="nameColumn" 31 private TableColumn<Person, String> nameColumn; // Value injected by FXMLLoader 32 33 @FXML // fx:id="ageColumn" 34 private TableColumn<Person, String> ageColumn; // Value injected by FXMLLoader 35 36 @FXML // fx:id="sexColumn" 37 private TableColumn<Person, String> sexColumn; // Value injected by FXMLLoader 38 39 40 private ObservableList<Person> tvObservableList = FXCollections.observableArrayList(); 41 42 43 @FXML // This method is called by the FXMLLoader when initialization is complete 44 void initialize() { 45 assert table != null : "fx:id=\"table\" was not injected: check your FXML file 'TablePractice.fxml'."; 46 assert nameColumn != null : "fx:id=\"nameColumn\" was not injected: check your FXML file 'TablePractice.fxml'."; 47 assert ageColumn != null : "fx:id=\"ageColumn\" was not injected: check your FXML file 'TablePractice.fxml'."; 48 assert sexColumn != null : "fx:id=\"sexColumn\" was not injected: check your FXML file 'TablePractice.fxml'."; 49 50 51 Person person1 = new Person("田中", "20歳", "男"); 52 53 nameColumn.setCellValueFactory(p -> p.getValue().nameProperty()); 54 ageColumn.setCellValueFactory(p -> p.getValue().ageProperty()); 55 sexColumn.setCellValueFactory(p -> p.getValue().sexProperty()); 56 57 tvObservableList.add(person1); 58 59 table.setItems(tvObservableList); 60 61 final String PATH = "driver/chromedriver.exe"; 62 System.setProperty("webdriver.chrome.driver", PATH); 63 WebDriver driver = new ChromeDriver(); //エラーの出ている箇所 64 String URL1 = "https://www.google.co.jp/"; 65 driver.get(URL1); 66 } 67} 68
module
1module TablePractice { 2 3 opens application to javafx.graphics, javafx.fxml; 4 requires javafx.graphics; 5 requires javafx.fxml; 6 requires javafx.controls; 7 requires okio; 8} 9
Person
1package application; 2 3import javafx.beans.property.SimpleStringProperty; 4 5public class Person { 6 7 private SimpleStringProperty name; 8 private SimpleStringProperty age; 9 private SimpleStringProperty sex; 10 11 public Person(String name, String age, String sex) { 12 13 this.name = new SimpleStringProperty(name); 14 this.age = new SimpleStringProperty(age); 15 this.sex = new SimpleStringProperty(sex); 16 } 17 18 19 public SimpleStringProperty nameProperty() { return name; } 20 public SimpleStringProperty ageProperty() { return age; } 21 public SimpleStringProperty sexProperty() { return sex; } 22 23 24} 25
ビルド・パス
あなたの回答
tips
プレビュー