Lokalizowanie elementu za pomocą tagu
Link do strony testowej: Testing Playground for Selectors
Elementy lokalizowane przez By.tagName
Lokalizuje elementy po ich nazwie tagu HTML:
- Używaj razem z
findElements()
do zbiorów. - Idealny do tabel, list, formularzy.
- Unikaj w dynamicznych strukturach DOM.
Element | tagName | Jak lokalizować | Przykład kodu |
---|---|---|---|
Nagłówek strony | h1 | By.tagName("h1") | getText() |
Wszystkie przyciski | button | findElements(By.tagName("button")) | .click() , .getText() |
Wszystkie pola input | input | findElements(By.tagName("input")) | .getAttribute("type") , .sendKeys() |
Tabela | table | By.tagName("table") lub .findElements("tr") | .getText() z komórek |
Linki | a | findElements(By.tagName("a")) | .getText() , .getAttribute("href") |
Lista z elementami | li | By.tagName("li") | .getText() |
Iframe | iframe | By.tagName("iframe") | driver.switchTo().frame(...) |
Nagłówek strony
WebElement header = driver.findElement(By.tagName("h1"));
System.out.println(header.getText());
Przycisk
List<WebElement> buttons = driver.findElements(By.tagName("button"));
System.out.println("Ilość przycisków: " + buttons.size());
Pola formularza <input>
List<WebElement> inputs = driver.findElements(By.tagName("input"));
for (WebElement input : inputs) {
System.out.println("Typ pola: " + input.getAttribute("type"));
}
Tabela <table>
, wiersze <tr>
, komórki <td>
WebElement table = driver.findElement(By.id("dataTable"));
List<WebElement> rows = table.findElements(By.tagName("tr"));
for (WebElement row : rows) {
List<WebElement> cells = row.findElements(By.tagName("td"));
for (WebElement cell : cells) {
System.out.println("Komórka: " + cell.getText());
}
}
Link <a>
List<WebElement> links = driver.findElements(By.tagName("a"));
for (WebElement link : links) {
System.out.println(link.getText() + " → " + link.getAttribute("href"));
}
Listy <ul>
i <li>
List<WebElement> links = driver.findElements(By.tagName("a"));
for (WebElement link : links) {
System.out.println(link.getText() + " → " + link.getAttribute("href"));
}
Iframe <iframe>
WebElement iframe = driver.findElement(By.tagName("iframe"));
driver.switchTo().frame(iframe);