Дуже сподобалось відео, дякую ) Проте, якщо я не помиляюсь, то селеніум підтримує такий вираз xpath "//span[contains(@class, 'text')]" і це вирішує проблему з декількома класами у атрибута.
Можна було б зробити так //span[contains(@class, ' text ') or starts-with(@class,'text ') or ends-with(@class, ' text') or @class = 'text'] що вже досить потворно. Але є проблема - не саппортить Xpath 1.0 навіть ends-with. Пишуть що через substring та string-length можна накостиляти аналог ends-with, але тоді в нас виходить ще біль монструозний вираз //span[contains(@class, ' text ') or starts-with(@class,'text ') or substring(@class, string-length(@class) - string-length(' text') +1) = ' text' or @class = 'text'] Оце може спрацювати. Але ж потворно до неможливості.
реально круто
Радий, що вам було корисним. Поділіться посиланням на канал із друзями :-)
Крутота!
якраз вчуся на QA, ви крутий вчитель!
Дякую!
Дякую! Дуже класний курс.
Радий що вам сподобалось!
Розкажіть друзям і знайомими :-)
@@itsimplified обов'язково!)
Дуже сподобалось відео, дякую )
Проте, якщо я не помиляюсь, то селеніум підтримує такий вираз xpath "//span[contains(@class, 'text')]" і це вирішує проблему з декількома класами у атрибута.
Нажаль не вирішує, бо це заметчить класс notext, чи textlabel чи xtexty.
Можна було б зробити так //span[contains(@class, ' text ') or starts-with(@class,'text ') or ends-with(@class, ' text') or @class = 'text']
що вже досить потворно. Але є проблема - не саппортить Xpath 1.0 навіть ends-with.
Пишуть що через substring та string-length можна накостиляти аналог ends-with, але тоді в нас виходить ще біль монструозний вираз
//span[contains(@class, ' text ') or starts-with(@class,'text ') or substring(@class, string-length(@class) - string-length(' text') +1) = ' text' or @class = 'text']
Оце може спрацювати. Але ж потворно до неможливості.
th-cam.com/video/1riySl0zKfc/w-d-xo.html