Можно ли выбрать значения атрибутов WebElement, содержащие символы Unicode?

Мой вопрос похож на этот: Как получить HTML-код WebElement в Selenium

Я пытаюсь нажать кнопку закрытия, которая выглядит так:

OuterHTML: <input class = "form-control btn btn-clear" style = "font-family: MapIcons; padding: 0px;" value = "" type = "button">

Этот атрибут значения отображается в поиске в Юникоде как шестнадцатеричный 0xE01D.

Я пытаюсь сопоставить этот атрибут, прежде чем нажимать на него.

Это мой код:

List<WebElement> elements = driver.findElements(By.xpath("//input[contains(@class, 'form-control btn btn-clear')]"));
    Common.myPrint(thisClass + " elements count: " + elements.size());
    for (WebElement element : elements) {
        // select an element
        if (element.isDisplayed())   {
            String text=element.getAttribute("value");
            if (text!=null) {
                Common.myPrint(thisClass + " text: " + text);
                // I would like to put compare text here, to ensure I have
                // correct element, before clicking on it.
            }

        }
    }

Я запустил это, и Console.log отображает это:

text: ?

поэтому может показаться, что WebElement.getAttribute ("значение") в любом случае не возвращает это значение точно.

Он не может его отобразить, это не значит, что он не возвращает его правильно. Вам нужно убедиться, что Common.myPrint правильно работает с UTF8. Также он должен работать, если вы выберете такой элемент: driver.findElement(By.xpath("//input[contains(@value, '\\uE01D')]"));

Kiril S. 10.04.2018 23:57
driver.findElement(By.cssSelector("input[value='\uE01D']")); должен вернуть элемент из HTML вашего сообщения. Имейте в виду, что ваша консоль / вывод должны поддерживать Unicode, чтобы свойство отображало символ. В противном случае символ заменяется на ?.
Florent B. 11.04.2018 01:07
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
39
0

Другие вопросы по теме