getAttribute() Помогите разобараться

Не понимаю как работает код: driver.findElement(By.id(control.getAttribute("id") + "Error"))

Помогите разобраться, пожалуйста.


Ответы (1 шт):

Автор решения: lampa

Плохо знаком с селениумом, но раскидаю на составные:

Например, есть html код:

<body>
    <button id="control">Кнопка</button>
    <div id="controlError">Ошибка</div>
</body>

получили кнопку <button id="control">Кнопка</button> по её типу (в коде у вас этого нет, но это важно)

control = driver.findElement(By.cssSelector("button"))

получили идентификатор этой кнопки как простую строку

control.getAttribute("id") // => "control"

конкретно тут мы задаем поиск элемента <div id="controlError">Ошибка</div>

By.id(control.getAttribute("id") + "Error")

т.к. это получается так: By.id("control" + "Error")

И получаем элемент:

driver.findElement(...)
→ Ссылка