Отправить javascript на консоль с Selenium - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь отправить команду на консоль JavaScript с помощью Selenium, но она продолжает возвращать None

    driver.execute_script('ScavengeScreen')

Если я ввожу ScavengeScreen в консоль Firefox, я получаю объект обратно.

firefox консоль

Дополнительная информация о 'ScavengeScreen' JavaScript:

<script>
    $(function() {
        Timing.whenReady(function() {
            require(['Modules/ScavengeScreen/ScavengeScreen'], function(ScavengeScreen) {
                var data = {...some json data...};

                if (window.hasOwnProperty('ScavengingOverview') && window.ScavengingOverview.data_data.hasOwnProperty(data.data_id)) {
                    data = window.ScavengingOverview.data_data[data.data_id];
                }

                var screen = new ScavengeScreen(...some json data...);
                screen.init();
                window.ScavengeScreen = screen;
                screen.updateInputs();
            });
        });
    });
</script>

Как получить такой же результат в Selenium?

1 Ответ

1 голос
/ 14 июля 2020

Измените driver.execute_script('ScavengeScreen') на driver.execute_script('return ScavengeScreen;').

...