Подтвердить что ты не робот

Как получить имя класса css с помощью Selenium?

Я новичок в тестировании селена. Я хочу получить имя класса css, используя селен. Я использую eclipse и Java для разработки.

<table >
<tr class="odd"><td>Odd row</td></tr>
<tr class="even"><td>Even row</td></tr>
<tr class="odd"><td>Odd row2</td></tr>
<tr class="even"><td>Even row2</td></tr>       
</table>

Есть ли способ получить имя класса 'odd' или 'even', используя селен? I

4b9b3361

Ответ 1

Да, вы можете использовать функцию getAttribute(attributeLocator) для вашего требования.

 selenium.getAttribute(//[email protected]);

Укажите Xpath элемента, для которого требуется знать класс.

Спасибо.

Ответ 2

Из WebElement вы можете использовать метод getAttribute следующим образом:

element.getAttribute("class")

Ответ 3

В зависимости от eclipse или java нет ничего, ведь это скорее стратегия определения местоположения. Если вы хотите получить доступ к определенному элементу tr с/без класса css, вы можете использовать css локатор:

css=tr:nth(indx_base_0)

n-я строка с классом

css=tr.odd:nth(indx_base_0)

первая строка с классом нечетная

css=tr.odd

Использование xpath:

//tr[index_base_1]

первая строка с классом нечетная

//tr[@class='odd']

n-я строка с нечетным классом

//tr[@class='odd'][index_base_1]

Вот несколько полезных примеров

Ответ 4

В контексте фрагмента кода, скажем, вы хотите получить класс "нечетный" для первой строки в таблице.
Вы можете выполнить следующие шаги:
(Примечание: - Предположим, что на вашей веб-странице есть одна таблица)

1- Получить элемент первым:
 

WebElement ele = driver.findElement(By.xpath("//table/tr[1]"));
  В приведенном выше коде используется xpath для получения элемента, т.е. Первой строки таблицы.

2- Затем получите атрибут "class" элемента, используя метод getAttribute:
 

String class_name = ele.getAttribute("class");
 Вышеприведенный код получит имя класса для связанного элемента и назначит его переменной String "имя_класса" для дальнейшего использования

Аналогично, для получения класса "четный", который является атрибутом для четвертой строки таблицы, вы можете использовать приведенный ниже код:

ele = driver.findElement(By.xpath("//table/tr[4]"));
class_name = ele.getAttribute("class");

Ответ 5

Если CSS является вашим требованием, а при отсутствии дополнительных/дифференцирующих атрибутов элементов, попробуйте следующее (в примере я использовал простые текстовые утверждения):

assertEquals(selenium.getText("css=tr.odd > td"), "Odd row");
assertEquals(selenium.getText("css=tr.even > td"), "Even row");
assertEquals(selenium.getText("//tr[3]/td"), "Odd row2");
assertEquals(selenium.getText("//tr[4]/td"), "Even row2");

Ответ 6

Получение имени класса CSS с использованием Selenium с помощью С#:

string _className;
IWebElement _ele = _driver.FindElement(By.Xpath("Xpath of Element"));
_className = _ele.GetAttribute("AttributeName Here");