Javascript jQuery不在page.evaluate内加载
我正在编写一个涉及jQuery的phantomjs自动化脚本 我会尽量简短 首先-页面加载 第1版:Javascript jQuery不在page.evaluate内加载,javascript,jquery,phantomjs,Javascript,Jquery,Phantomjs,我正在编写一个涉及jQuery的phantomjs自动化脚本 我会尽量简短 首先-页面加载 第1版: page.includeJs("http://............../1.9.0/jquery.min.js", function() { page.open(urlDecoded, function (status) { page.evaluate(fChecker, params); }); }); 版本2 page.open(urlDecoded, function
page.includeJs("http://............../1.9.0/jquery.min.js", function() {
page.open(urlDecoded, function (status) {
page.evaluate(fChecker, params);
});
});
版本2
page.open(urlDecoded, function (status) {
page.includeJs("http://............../1.9.0/jquery.min.js", function() {
page.evaluate(fChecker, params);
});
});
版本3
page.open(urlDecoded, function (status) {
page.evaluate(fChecker, params);
});
第二-评估
对于版本1和版本2:
function fChecker(params) {
...
...
$('.blabla').val('yes');
}
对于第3版:
function fChecker(params) {
var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
...
...
$('.blabla').val('yes');
}
Last-结果
美元未被识别。
无法识别jQuery
我在评估后保存HTML内容,并在自动页面中显示我的脚本-因此它确实正确地添加了文件
同样的方法(版本2)已经适用于另外两个站点,一切都很好
稍后使用另一个评估函数(仅用于提交经过评估和分析的页面)效果良好
有什么想法吗
多谢各位
另外,我已经搜索了网站上的每一个项目。主题不是重复。您混合了有效代码和无效代码,这有点不清楚。有什么问题吗?抱歉不清楚。抱歉不清楚。关键是-我试图在目标页面内使用jQuery,但一直收到“$is not recognized.”和“jQuery is not recognized.”答案是-目标页面已经加载了jQuery,第二个实例(I load)相互干扰。解决办法:1。不要两次加载jquery,而是使用加载的jquery。2.使用jQuery.noConflict()并为加载的实例定义另一个别名我在这里试图问的另一个问题-加载外部JS文件的最佳位置是什么?内部页面。打开()还是外部页面?我的选择是——在它里面。谢谢