首页 > 解决方案 > Python Selenium execute_script jQuery 错误和操作系统之间的差异

问题描述

我正在使用 Selenium 和 Python (3.5) 以编程方式探索网站。此探索的一个步骤包括滚动到给定页面的底部,我选择使用 jQuery 来执行此操作,因为driverwebdriver 对象在哪里,并且scrollloadtime是我希望滚动所花费的设定时间:

driver.execute_script("$('html, body').animate({scrollTop: $(document).height() - $(window).height()}, %s);" % scrollloadtime)

这就是事情变得奇怪的地方。当我在测试环境(运行 Kali Linux 的 VM)中运行此代码时,我对此没有任何问题——我从来没有遇到过在此环境中运行此行的问题。

但是,当我尝试在运行 Debian Stretch 的 docker 容器内的完全相同的网页上使用完全相同的软件包版本(我在下面列出)上运行完全相同的代码时,我收到以下错误:

Message: TypeError: $(...).animate is not a function

我想弄清楚为什么会发生这种情况,而不仅仅是一种解决方法。它快把我逼疯了!

我当然不是 jQuery 专家,但是根据我对上述错误所做的研究,这通常发生在使用旧的和最小化的 jQuery 版本时。我无法弄清楚自己是如何将该解决方案与 Selenium 甚至 Python 本身联系起来。


我尝试过的事情无济于事:


版本:


任何帮助或故障排除指导将不胜感激。让我知道我是否可以提供任何其他信息。

标签: pythonjqueryseleniumdockerdebian

解决方案


推荐阅读