「sendKeys」を実行することで要素にキーボード入力することが出来ます。
要素.sendKeys(string)の形で引数に指定した文字列を、テキストボックスやテキストエリアなどのHTML要素に入力することが出来ます。ここではWebElementクラスの「sendKeys」を利用しますが、ダイアログにキーボード入力するAlertクラスの「sendKeys」や、複数の処理を同時に実行するActionクラスの「sendKeys」も存在します。いずれも同様に要素(テキストボックス、テキストエリア)に対して文字列を入力をします。
説明
◆メソッド ・void sendKeys(java.lang.CharSequence... keysToSend) ◆使用形態 ・element.sendKeys("string") ◆備考 ・テキストボックスやテキストエリアなどのHTML要素で文字入力する為のメソッド ◆関連項目 ・キーボード入力をする(特殊キー) ・セレクトタグのオプションをインデックス番号から選択する
サンプル
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class WebTest{ public static void main(String[] args){ //Chrome制御のためChromeDriverのパスを指定 System.setProperty("webdriver.chrome.driver", "D:\\AutoTest\\chromedriver.exe"); //Chromeを起動する WebDriver driver = new ChromeDriver(); //指定したURLに遷移する driver.get("https://www.google.co.jp"); //検索テキストボックスの要素をname属性名から取得 WebElement element = driver.findElement(By.name("q")); //検索テキストボックスに文字列を入力 element.sendKeys("キーボード入力をする(通常キー)"); } }
※selenium version 4.1.4で動作確認をしています(ブラウザのUIや属性値などが変更された場合、実行結果が異なる可能性があります)