Содержимое веб-страниц может отображаться условно. Проще говоря, содержимое страницы может динамически изменяться в зависимости от различных факторов, таких как географическое положение, роль пользователя или IP-адрес. Например, на странице может быть представлено модальное окно мастера приветствия для новых пользователей или текстовое поле с различным содержимым в зависимости от языкового стандарта. Для мониторинга элементов DOM в этом случае можно настроить записанный сценарий мониторинга с выписками выбора.
Чтобы создать динамический сценарий, который делает что-то другое на основе веб-элемента, отображаемого на веб-странице, добавьте инструкцию if-else в сценарий в настольной версии EveryStep Scripting Tool.
Пример выписки if-else
Delay ("6sec".ToDuration ()); if (tab0.IsElementPresented("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Edit order\"]")){ tab0.Element ("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Edit order\"]").Click (); Delay ("3sec".ToDuration ()); if (tab0.IsElementPresented("//INPUT[@ID=\"chkOrder\"]")) tab0.Element ("//INPUT[@ID=\"chkOrder\"]").Click (); Delay ("1sec".ToDuration ()); if (tab0.IsElementPresented("//BUTTON[@ID=\"btnClose\"]")) tab0.Element ("//BUTTON[@ID=\"btnClose\"]").Click (); Delay ("1sec".ToDuration ()); if (tab0.IsElementPresented("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]")) tab0.Element ("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]").Click (); Delay ("5sec".ToDuration ()); } else if (tab0.IsElementPresented("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Start shopping\"]")) { tab0.Element ("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Start shopping\"]").Click (); Delay ("1sec".ToDuration ()); tab0.Element ("//INPUT[@ID=\"chkBalance\"]").Click (); Delay ("1sec".ToDuration ()); tab0.Element ("//BUTTON[@ID=\"btnOk\"]").Click (); Delay ("1sec".ToDuration ()); if (tab0.IsElementPresented("//INPUT[@ID=\"chkOrder\"]")) tab0.Element ("//INPUT[@ID=\"chkOrder\"]").Click (); Delay ("1sec".ToDuration ()); if (tab0.IsElementPresented("//BUTTON[@ID=\"btnClose\"]")) tab0.Element ("//BUTTON[@ID=\"btnClose\"]").Click (); Delay ("1sec".ToDuration ()); if (tab0.IsElementPresented("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]")) tab0.Element ("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]").Click (); } }