Seleniumでのテスト中に要素ロケーターのほとんどを使用しましたが、非常に低い頻度で使用される 'TagName'ロケーターです。例を挙げてください。
ここで、ソフトウェアWeb要素にIDまたはクラス名がない場合、Selenium WebDriverでその要素を見つける方法は?答えは、Selenium WebDriver要素ロケーターには多くの選択肢があり、そのうちの1つはタグ名で要素を見つけることです。
ほとんどの場合、要素ロケーターの他の選択肢があるため、タグ名による要素の検索はあまり一般的ではありません。ただし、他に選択肢がない場合は、要素のDOMタグ名を使用してwebdriverでその要素を見つけることができます。
ここでは、次のようなロケーターとしてタグ名を選択できます。
//Locating element by tagName and store its text in variable dropdown.
String dropdown = driver.findElement(By.tagName("select")).getText();
アンカー、テーブル、およびのようなタグの実際の名前を使用します。これは、指定されたタグ名を持つすべての要素を取得するのに役立ちます。例:指定された入力の最初の要素を選択するには
var dialog = driver.FindElement(By.ClassName("ladialog"));
var save = dialog.FindElements(By.TagName("input"))[0];
save.Click();
By.tagNameの非推奨 のおかげで、@ Shahの回答にはBy.cssを使用する必要があります。
String dropdown = driver.findElement(By.css("select")).getText();
また、重要なことは、tagName
ロケーティング戦略を使用して、Webページ内のすべてのリンクを取得または取得し、それらをコンソールに印刷できることです。これを試して:
//GET ALL LINKS IN A WEBPAGE
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
System.out.println("Links count is: "+allLinks.size());
for(WebElement link : allLinks)
System.out.println(link.getText());