Подождите, пока страница load in Selenium

Маркировки похожи на goto's: Используйте их экономно, и только когда они делают Ваш код быстрее и , что еще более важно, более понятным,

, например, Если Вы находитесь в больших циклах шесть уровней глубоко, и Вы встречаетесь с условием, которое делает остальную часть цикла бессмысленной для завершения, нет никакого смысла в наличии 6 дополнительных лазеек в операторах условия для выхода из цикла рано.

Маркировки (и goto's) не являются злыми, это просто, что иногда люди используют их плохими способами. Большую часть времени мы на самом деле пытаемся записать наш код, таким образом, это понятно для Вас и следующего программиста, который приезжает. Создание его uber-быстро является вопросом второстепенной важности (опасаться преждевременной оптимизации).

, Когда Маркировки (и goto's) неправильно используются, они делают код менее читаемым, который вызывает горе для Вас и следующего разработчика. Компилятор не заботится.

228
задан Peter Mortensen 10 October 2015 в 00:43
поделиться

1 ответ

Человек все эти ответы требует слишком большого количества кода. Это должно быть простой вещью как его довольно общим.

, Почему не только вводят некоторый простой JavaScript с webdriver и проверкой. Это - метод, который я использую в своем webscraper классе. JavaScript является довольно основным, даже если Вы не знаете js.

    def js_get_page_state(self):        
    """
    Javascript for getting document.readyState
    :return: Pages state.

    More Info: https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState
    """
    ready_state = self.driver.execute_script('return document.readyState')
    if ready_state == 'loading':
        self.logger.info("Loading Page...")
    elif ready_state == 'interactive':
        self.logger.info("Page is interactive")
    elif ready_state == 'complete':
        self.logger.info("The page is fully loaded!")
    return ready_state
1
ответ дан 23 November 2019 в 03:47
поделиться
Другие вопросы по тегам:

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