注入jquery会完全改变页面结果——这是一种糟糕的方式
Injecting jquery changes page results totally - in a bad way
我是phantomJs的新手,负责自动从网站上抓取一些数据。为此,我必须登录,导航到网站上的搜索页面,搜索并抓取Ajax查询的结果。在我的本地机器(带Lampp的ubuntu操作系统)上一切都很顺利,但当我把代码移到我们的开发服务器(一台运行nginx的centOS机器)时,我开始在对jquery的调用中得到:"refenceError:$not defined"。因此,我将jquery添加到我的目录中,并尝试:
page.onLoadFinished = function() {
page.injectJs('jquery-1.10.2.min.js'), function(){
$.noConflict();
};
loadInProgress = false;
};
以及
page.injectJs('jquery-1.10.2.min.js'), function(){
$.noConflict();
//DO SOMETHING WITH $ HERE
};
但现在搜索结果变成了<pre></pre>
元素,只有一页结果,没有任何按钮。
jQuery被注入页面上下文,而不是幻影上下文。如果您使用page.injectJs()
,jQuery只能通过page.evaluate()
访问。
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- Angularjs:如何让ui选择只有一种方式的模型竞标
- 单击()的另一种方式
- Rails 以一种方式格式化 DateTime.now 和 DateTime.yesterday 另一种方式 - 我如何
- 另一种方式是Javascript中的函数堆叠
- CSS Div 类之间的转换仅以一种方式发生
- require.js是require的另一种方式
- 在创建 toLowerCase 函数时,一种方式比另一种方式更好
- Ionic 和 Angularjs - 形式绑定似乎只是一种方式
- Javascript hide/show 切换在 Opera 中是双向的,但在其他浏览器中只能以一种方式工作
- 以两种不同的方式编写函数:一种方式会导致 TypeError,另一种方式不会.为什么
- NG-模型似乎只在模态视图内的离子单选按钮上绑定一种方式
- 编写 if 语句的另一种方式
- AngularJS - CSS 动画只能以一种方式工作
- 存储JS变量和画布数据的另一种方式,用户可以稍后检索
- 从以另一种方式编写的输入中返回一个字符串
- 用q创造承诺的另一种方式
- Javascript-切换元素只能用一种方式!还有URL附加所需的帮助
- 是他们的一种方式,我可以将javascript嵌入到GWT代码
- 访问AngularJS隔离作用域的另一种方式