javascript - 如何将 jQuery 附加到 Selenium 的 PhantomJS 驱动程序(Python 绑定(bind))

标签 javascript jquery python selenium phantomjs

我正在使用 Selenium 和 PhantomJS 驱动程序的 Python 绑定(bind)。我希望能够使用 WebDriver.execute_script() 操作 DOM 来运行 JavaScript 代码,但我也想使用 JQuery。问题是我正在处理的网站没有使用 JQuery,所以我必须自己将其加载到页面中。我怎样才能做到这一点?

最佳答案

有一种方法可以使用 webdriver 动态添加 jQuery。

首先将 jquery 脚本包含到 html 文档的 head 部分:

JavascriptExecutor js = (JavascriptExecutor) webdriver;
js.executeScript( jScript );

在 jsScript 中它是原始字符串:

var script = document.createElement('script'); 
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);

请注意,此实现并非特定于 GhostDriver(PhantomJS Webdriver 的名称),并且可以与其他 Webdriver 重用。此实现的缺点是,如果您导航到另一个页面,则必须再次加载 jQuery。

希望对你有一点帮助!

关于javascript - 如何将 jQuery 附加到 Selenium 的 PhantomJS 驱动程序(Python 绑定(bind)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19364985/

相关文章:

javascript - Jquery - 在 ajax 函数中调用 ajax 函数

javascript - Uncaught RangeError : Duration field days not supported by Temporal. Instant(在不使用魔数(Magic Number)的情况下将 1 天添加到临时瞬间)

javascript - 将数据加载到 HTML 中的可变高度表

jquery - 如何用jquery禁用提交按钮

python - 如何在 matplotlib 中设置独立于刻度的条形宽度?

javascript - 通过 JavaScript 更改 body 标签样式

javascript - ng-if 包装选择的 ng-options 会破坏 ngModel?

javascript - 将 JavaScript 值分配给 mvc 模型属性

python - 搜索并用 python 替换

python - 在 Pandas 中剥离时区信息