「tagName」の引数にタグ名を指定することで要素を取得することが出来ます。
下記のサンプルでは、タグ名が「input」のリンク要素を取得しています。しかし、タグ名が「input」の要素は複数存在している為、findElementsで該当する要素を全て取得した後、title属性が"検索"の文字列の要素を指定することで、検索テキストボックスの要素を取得しています。
※要素取得の詳細についてはこちら
説明
◆メソッド
・public static By tagName(java.lang.String tagName)
◆使用形態
・By.tagName("tagName")
◆備考
・引数に取得したい要素で使われているタグ名を指定することで、要素を取得出来る
◆関連項目
・xpathから要素を取得する
・cssセレクタから要素を取得する
サンプル
import java.util.List;
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");
//タグ名がinputの要素を全て取得
List<WebElement> elems = driver.findElements(By.tagName("input"));
String eleText = "検索";
//全てのinput要素の中からtitle属性が"検索"の文字列を探す。
//存在した場合は(検索テキストボックスに)Seleniumと入力する
for(WebElement ele : elems){
if(eleText.equals(ele.getAttribute("title"))){
ele.sendKeys("Selenium");
break;
}
}
}
}※selenium version 4.1.4で動作確認をしています(ブラウザのUIや属性値などが変更された場合、実行結果が異なる可能性があります)
実行結果
動画デモ
※字幕をONにすると解説のテロップが表示されます※


