package com.codeborne.selenide.commands; import com.codeborne.selenide.Command; import com.codeborne.selenide.SelenideElement; import com.codeborne.selenide.ex.ElementNotFound; import com.codeborne.selenide.impl.Cleanup; import com.codeborne.selenide.impl.Describe; import com.codeborne.selenide.impl.WebElementSource; import org.openqa.selenium.WebDriverException; public class ToString implements Command<String> { @Override public String execute(SelenideElement proxy, WebElementSource locator, Object[] args) { try { return Describe.describe(locator.getWebElement()); } catch (WebDriverException | ElementNotFound elementDoesNotExist) { return Cleanup.of.webdriverExceptionMessage(elementDoesNotExist); } catch (IndexOutOfBoundsException invalidElementIndex) { return invalidElementIndex.toString(); } } }