【问题标题】:Send javascript to console with Selenium使用 Selenium 将 javascript 发送到控制台
【发布时间】:2020-11-04 03:35:10
【问题描述】:

我正在尝试使用 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 中获得相同的结果?

【问题讨论】:

  • 你能把网站链接给我吗?
  • 尝试添加return作为第一个脚本语句,这样该行将是driver.execute_script('return ScavengeScreen;')
  • @AleksanderIkleiw 很抱歉,该网站位于付费墙后面。但如果需要,我可以发布更多信息。

标签: python selenium selenium-webdriver web-scraping bots


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 2013-05-13
    • 2011-04-28
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    相关资源
    最近更新 更多