Selenium webdriver: как найти элемент в DOM на основе пользовательского атрибута - программирование
Подтвердить что ты не робот

Selenium webdriver: как найти элемент в DOM на основе пользовательского атрибута

Как я могу найти элемент в DOM на основе пользовательского атрибута?

Например:

Атрибуты DOM отсутствуют в HTML-представлении. Используя DOM-инспектор, я могу определить уникальный атрибут Custom.

driver.findElement(By.id("SimpleSearch:dIndicesGrid:1:Value")).getAttribute("_celltype");

Здесь _celltype - это настраиваемый атрибут. Этот атрибут не отображается в виде HTML.

4b9b3361

Ответ 1

Вам нужно будет найти элемент по xpath.

Ниже будет найден любой элемент, у которого есть атрибут _celltype со значением 'celltype':

driver.findElement(By.xpath("//*[@_celltype='celltype']"))

Если вы знаете, какой тип элемента вы можете сделать более конкретным. Например, если вы знаете, что это теги div, выполните следующие действия:

driver.findElement(By.xpath("//div[@_celltype='celltype']"))

Ответ 2

XPath - это зло, вы можете использовать это вместо

By.CssSelector("[_celltype='celltype']");

Ответ 3

Найти элемент по xPath:

WebElement element = driver.findElement(By.xpath("xpath_link"));

xpath_link = //*[@_celltype='celltype']; // This is sample xpath;

System.out.println(element.getText());

Это получит текст поля celltype и отобразит его значение.