我从来没有使用过javascript来逐行读取文件,而phantomjs对我来说是一个全新的游戏.我知道幻像中有一个read()函数,但我不完全确定在将数据存储到变量后如何操作数据.我的伪代码是这样的:
filedata = read('test.txt');
newdata = split(filedata, "\n");
foreach(newdata as nd) {
//do stuff here with the line
}
Run Code Online (Sandbox Code Playgroud)
如果有人能帮我解决真正的代码语法,我对phantomjs是否会接受典型的javascript或者什么感到困惑.
下一篇:如何在PhantomJS测试中ng单击A指令我知道我需要创建自己的函数来单击元素,但是如何使用它呢?
以下代码给我错误 TypeError: 'undefined' is not a function (evaluating 'click(obj)')
var page = require('webpage').create();
var url = 'http://somesite.com/document.html';
page.open(url, function(status) {
page.evaluate(function() {
var obj = document.querySelectorAll('button')[0];
click(obj);
});
console.log(page.content);
phantom.exit();
});
function click(el){
var ev = document.createEvent('MouseEvent');
ev.initMouseEvent(
'click',
true /* bubble */, true /* cancelable */,
window, null,
0, 0, 0, 0, /* coordinates */
false, false, false, false, /* modifier keys */
0 /*left*/, null
);
el.dispatchEvent(ev);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试向我的服务器发送新的推送订阅,但遇到错误"未捕获(在承诺中)SyntaxError:JSON输入的意外结束"并且控制台说它在我的索引页面的第1行,显然不是这种情况.
我怀疑问题发生的函数(因为我将它注释掉时不会抛出错误)是sendSubscriptionToBackEnd(subscription)在下面调用的函数:
function updateSubscriptionOnServer(subscription) {
const subscriptionJson = document.querySelector('.js-subscription-json');
const subscriptionDetails = document.querySelector('.js-subscription-details');
if (subscription) {
subscriptionJson.textContent = JSON.stringify(subscription);
sendSubscriptionToBackEnd(subscription);
subscriptionDetails.classList.remove('is-invisible');
} else {
subscriptionDetails.classList.add('is-invisible');
}
}
Run Code Online (Sandbox Code Playgroud)
函数本身(在上面的函数之前):
function sendSubscriptionToBackEnd(subscription) {
return fetch('/path/to/app/savesub.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(subscription)
})
.then(function(response) {
if (!response.ok) {
throw new Error('Bad status code from server.');
}
return response.json();
})
.then(function(responseData) {
if (!(responseData.data && responseData.data.success)) {
throw new Error('Bad response from server.');
}
});
}
Run Code Online (Sandbox Code Playgroud)
我尝试在fetch调用中用双引号替换单引号但产生相同的结果.
我知道应该填充JSON,因为它打印到 …
我正在运行 2 个 vCPU 的一个实例,1.8 GB。我正在尝试使用更多的计算能力,但被困在 30% 并且无法找到任何 CPU 使用率的使用配额,我可以使用的 CPU 数量。有没有办法使用全部 100%,或至少超过 30%?