Горизонтальное Правило: Хорошее или Плохое проектное решение [закрывается]

Обновленный ответ Кажется, что ваш оригинальный локатор в порядке, но ваша функция totalAmount не возвращает правильное значение. Если вы хотите попробовать альтернативный подход к вашему локатору, чтобы получить цену, вы можете попробовать это, но ваш способ должен работать.

let price = element(by.css('.total-amount span')).isDisplayed()
    .then(disp => {
        return element(by.css('.total-amount span'));
    })
    .catch(err => {
        return element(by.css('.total-amount'));
    });

Оригинальный ответ

Вы используете 'ИЛИ' правильно, но ваш локатор не структурирован правильно.

Если мы сломаем этот локатор element(by.css('.total-amount span, .total-amount'));, мы увидим, что есть два условия. Если первое удовлетворено, то оно будет возвращено. Если первое не удовлетворено, то второе будет возвращено, если оно будет найдено.

Однако, вы никогда не получите 30.50, так как второе условие вернет сам элемент td. Если вы хотите получить продажную цену, если она есть, но <s>, если ее нет, тогда вам нужно будет запустить эту строку

element(by.css('.total-amount s, .total-amount span'))
6
задан Mike Fielden 17 April 2009 в 15:56
поделиться

3 ответа

Плохо и поэтому использует div просто для добавления горизонтального div. Вместо этого рассмотрите возможность помещения линии, которая выглядит как горизонтальное правило, в качестве границы элемента, который вы хотите разделить. Это будет семантически правильно, поскольку вы не влияете на структуру создаваемого вами HTML-документа.

В этой статье подробно рассматривается, как можно злоупотреблять div , используя их только как элементы представления. Хотя иногда этого не избежать, это не тот случай.

6
ответ дан 17 December 2019 в 02:33
поделиться

Я склонен согласиться с altCognito по этому вопросу, потому что они являются чисто презентационными (по крайней мере, они кажутся в каждом случае, в котором я их видел до сих пор), они должны быть применяется через CSS.

Вполне может быть опция : after {content: / * hr * /;} , но, если честно, когда есть граница-дно, которое визуально служит (или, по крайней мере, может служить) той же цели, зачем беспокоиться о


?

Их, конечно, можно стилизовать, если вы решите пойти с ним, хотя W3 Schools предполагают, что все возможные варианты стилей теперь устарели. Если это так, и это не может быть «официально» разработано, было бы лучше избежать этого, я думаю.

0
ответ дан 17 December 2019 в 02:33
поделиться

Единственная проблема с HR - это то, что он всегда там. Я предполагаю, что ваш коллега считает, что вы не всегда хотите, чтобы отображался HR, и, используя DIV и решение css, давайте кто-нибудь удалим или изменим его в одном глобальном файле css. (хотя HR также может контролироваться css)

Решение div + css не плохое, но для того, что вы описываете, решение HR тоже неплохое. Я бы просто пошел с тем, что удобно в этом случае.

0
ответ дан 17 December 2019 в 02:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: