首页 > 解决方案 > 使用 Selenium 将 javascript 发送到控制台

问题描述

我正在尝试使用 Selenium 向 JavaScript 控制台发送命令,但它不断返回None

    driver.execute_script('ScavengeScreen')

如果我在 Firefox 控制台中输入“ScavengeScreen”,我会返回一个对象。

火狐控制台

'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 中获得相同的结果?

标签: pythonseleniumselenium-webdriverweb-scrapingbots

解决方案


更改driver.execute_script('ScavengeScreen')driver.execute_script('return ScavengeScreen;')


推荐阅读