Я бы использовал немного более простое выражение, предполагая, что вам не нужно обрабатывать такие вещи, как 1 second
, 2 seconds
и т. Д., Но нужно обрабатывать только такие вещи, как 1 second(s)
или 2 second(s)
, вы можете использовать это выражение:
попробуйте заменить материал регулярных выражений на
[0-9]+ [a-z]+\(s\)
Некоторые старые разновидности регулярных выражений (POSIX ERE) не допускают классы сокращенных символов, поэтому, если эти правила каким-то образом вызываются, тогдапотерпит неудачу на \s
и \w
(и, возможно, даже на .
).Вышеупомянутое выражение должно работать почти везде;хотя он и не такой гибкий, он должен быть достаточно гибким для вашей ситуации.
Некоторые версии, даже более старые (POSIX BRE), не поддерживают повторение стенографий и фактически по-разному интерпретируют фигурные скобки и скобки.Если это ожидаемый вкус, он может просто не сработать с любым нормальным выражением, и вам нужно будет использовать что-то вроде:
[0-9]\{1,\} [a-z]\{1,\}(s)
Если ни один из этих способов не работает, то существует значительная разница вВ движках, использующих ваше регулярное выражение ИЛИ , существует некоторая разница в том, как страница обрабатывается и обрабатывается / анализируется / анализируется сервером Selenium.
В этом случае, могут быть теги <br>
или теги форматирования (например, <i>
или <span>
), которые анализируются как текст, а не извлекаются из строки.Тогда что-то вроде changes are fully visible
может быть проанализировано как changes are <em>fully</em> visible
и, таким образом, не пройдёт тест