问题
I have used most of the element locator while Testing with selenium but very low frequently used 'TagName' locator. Please give and example.
回答1:
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();
回答2:
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();
回答3:
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());
回答4:
Thanks to the deprecation of By.tagName you should use By.css for @Shah 's answer....
String dropdown = driver.findElement(By.css("select")).getText();
来源:https://stackoverflow.com/questions/34115825/when-and-how-i-can-locate-element-by-tagname-using-selenium-webdriver-please-ex