質問: こんにちは。Java、HTML共に初心者です。 以下の事をJavaで行いたいのですが、その方法(コーディングの仕方)が解らなくて困っております。 やりたいこと↓ (1)Excelデータの特定の行列(セル)に記述されているテキストデータを取得 (2)Webページのテキストボックスに(1)で取得したテキストデータをセット (3)Webページのボタンを押下する。 素人染みた質問で申し訳ないんですが、ご存知の方がいらっしゃいましたら、 お教え願います。
回答: こんにちは。 >その方法(コーディングの仕方) とありますが、環境は出来ていますでしょうか。 POIとWebDriverを利用する方法であれば比較的簡単に以下のようなコーディングで実現できます。 環境が無いのであれば「Java WebDriver」「Java POI」で検索し、環境を構築してください) (パッケージやファイルパス、シート名等は自環境に合わせてください。また、インデントは全角スペースになっていますのでコピペ時には注意して下さい。) ==== q7443758.java package q7443758; import java.io.FileInputStream; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.ie.InternetExplorerDriver; public class Q7443758Main { public static void main ( String[] args ) { String strValue = null; try { // Excelファイルを読み込む POIFSFileSystem poiSys = new POIFSFileSystem(new FileInputStream("C:\\Search.xls")); HSSFWorkbook workbook = new HSSFWorkbook ( poiSys ); // wordというシート名のシートを取得 HSSFSheet sheet1 = workbook.getSheet ( "word" ); // 先頭のデータを取得 strValue = sheet1.getRow(0).getCell(0).getStringCellValue(); } catch ( Exception e ) { e.printStackTrace(); } // IEで生成 WebDriver ieDriver = new InternetExplorerDriver(); // URLで開く ieDriver.get ( "" ); // qというelementを取得 WebElement element = ieDriver.findElement ( By.name("q") ); // Excelより取得したテキストをセット element.sendKeys ( strValue == null ? "" : strValue ); // 送信 element.submit(); } }