Правильный поиск ошибок при работе с несколькими элементами в кукловоде - PullRequest
0 голосов
/ 15 апреля 2020

Я перемещаюсь по сайту и имею вложенную структуру, подобную этой:

if (deliveryTab) {
        let deliveryButton = await self.page.$(
            "button#shopping-selector-shop-context-intent-delivery"
        );
        if (deliveryButton) {
            await deliveryButton.click();

Я пытаюсь проверить, не каждая ли кнопка / элемент не нулевая, прежде чем перейти к следующему шагу, но это начинает создавать большой количество вложенных ifs. Я думал об окружении всего в большой попытке ... поймать или использовать попытку .. поймать все возможные элементы, с которыми я имею дело. Это заставляет меня верить, что, возможно, мой подход не очень хорош.

Если я работал в медленной сети, использование waitForSelector () с более короткими тайм-аутами может выдать ошибку, даже если элемент должен был загрузиться, но я также боюсь, что при использовании page. $ ("Селектор") будет возвращать ноль и в медленной сети, даже после waitForNavigation. Мне было интересно, есть ли какие-нибудь изящные решения / практики, чтобы убедиться, что мое приложение может обрабатывать большинство ошибок / изменений на сайте, который я пересекаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...