создать имя класса с несколькими классами CSS не работает

Это код для выбора значения из раскрывающегося списка

. Значение для selectlocator будет xpath или именем раскрывающегося списка, а для опцииLocator будет выбрано значение из раскрывающегося списка.

public static boolean select(final String selectLocator,
        final String optionLocator) {
    try {
        element(selectLocator).clear();
        element(selectLocator).sendKeys(Keys.PAGE_UP);
        for (int k = 0; k <= new Select(element(selectLocator))
                .getOptions().size() - 1; k++) {
            combo1.add(element(selectLocator).getValue());
            element(selectLocator).sendKeys(Keys.ARROW_DOWN);
        }
        if (combo1.contains(optionLocator)) {
            element(selectLocator).clear();
            new Select(element(selectLocator)).selectByValue(optionLocator);
            combocheck = element(selectLocator).getValue();
            combo = "";

            return true;
        } else {
            element(selectLocator).clear();
            combo = "The Value " + optionLocator
                    + " Does Not Exist In The Combobox";
            return false;
        }
    } catch (Exception e) {
        e.printStackTrace();
        errorcontrol.add(e.getMessage());
        return false;
    }
}



private static RenderedWebElement element(final String locator) {
    try {

        return (RenderedWebElement) drivers.findElement(by(locator));
    } catch (Exception e) {
        errorcontrol.add(e.getMessage());
        return (RenderedWebElement) drivers.findElement(by(locator));
    }
}

Спасибо,

Реха.

1
задан Dhanapal 5 March 2019 в 20:20
поделиться

2 ответа

Синтаксис className предназначен для кода JSX, языка JavaScript, который для простоты выглядит как HTML, но он НЕ одинаков. Я не верю, что это приведет к ошибке в консоли, но не будет отображать стили. Для HTML вы должны использовать синтаксис class. Вы также не можете иметь . в имени класса, потому что это идентификатор класса. Вы обычно используете - или camelCase.

Я добавил красный фоновый класс, чтобы показать вам, как работает код.

.red {
    background-color: red;
}

.paddingRight-tiny {
    padding-right: 0.5em;
}

.paddingRight-small {
    padding-right: 1em;
}

.paddingRight-medium {
    padding-right: 1.5em;
}

.paddingLeft-tiny {
    padding-left: 0.5em;
}

.paddingLeft-small {
    padding-left: 1em;
}

.paddingLeft-medium {
    padding-left: 1.5em;
}
<div class="red paddingRight-small paddingLeft-tiny">
    <p>Some content goes here...</p>
</div>

0
ответ дан Nick 5 March 2019 в 20:20
поделиться

В вашем HTML у вашего div есть 4 разных класса. изменение которого изменит все. вам следует попробовать:

<div className="paddingRight">
 <div className="small">
 //something
 </div>
 <div className="tiny">
 //something
 </div>
</div>
<div className="paddingLeft">
 <div className="small">
 //something
 </div>
 <div className="tiny">
 //something
 </div>
</div>
0
ответ дан Evik Ghazarian 5 March 2019 в 20:20
поделиться