Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

WebDriver JavascriptExecutor hasAttribute()


(Inessa) #1

Снова здраствуйте :relaxed:

Я хочу создать функцию, которая будет проверить есть у WebElement some attribute.
Я знаю что в WebDriver API есть WebElement.getAttribute(), но мне нужно проверить именно наличие самого attribute - есть он или нет.
Эта функция неправильная ->org.openqa.selenium.WebDriverException: attribute is not defined.
Как мне правильно передать String attribute в скрипт?

    public static boolean hasAttribute(WebDriver driver, WebElement el, String attribute){
	   boolean hasAttr= false; 
	   
	   JavascriptExecutor js = (JavascriptExecutor)driver;
	   String script ="return arguments[0].hasAttribute(attribute);";

(vmaximv) #2

А чем “коробочный” WebElement.getAttribute(String name) не устраивает?
return el.getAttribute(attribute)!=null