When and how I can locate element by Tagname using selenium webdriver? Please explain with an example

◇◆丶佛笑我妖孽 提交于 2019-12-03 12:25:36

Now supposing, software web element do not have any ID or Class Name then how to locate that element in selenium WebDriver ? Answer is there are many alternatives of selenium WebDriver element locators and one of them is Locating Element By Tag Name.

Locating Element By Tag Name is not too much popular because in most of cases, we will have other alternatives of element locators. But yes if there is not any alternative then you can use element's DOM Tag Name to locate that element in webdriver.

Here you can select the tagname as a locator like:

//Locating element by tagName and store its text in variable dropdown.
 String dropdown = driver.findElement(By.tagName("select")).getText();

we use the actual name of the tag like for anchor and for table and input for . This helps to get all the elements with a given tag name. Example: to select first element of given input

var dialog = driver.FindElement(By.ClassName("ladialog"));
var save = dialog.FindElements(By.TagName("input"))[0];
save.Click();

Also importantly, The tagName locating strategy can be used to get or fetch all the links in a webpage and print them to console. Try this:

//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());

Thanks to the deprecation of By.tagName you should use By.css for @Shah 's answer....

String dropdown = driver.findElement(By.css("select")).getText();
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!