2

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

4

1 回答 1

3

有一种方法可以使用 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 的名称),并且可以与其他 webdrivers 重用。这个实现的缺点是如果你导航到另一个页面,你将不得不再次加载 jQuery。

我希望我对你有所帮助!

于 2014-01-05T14:55:50.657 回答