Подскажите,
как после запуска run_java_script
получить переменную после выполнения javascript ?
пробую получить в хумане массив из javascript цикла
for(y = grig_size; y < height;y = y + grig_size) {
for(x = grig_size; x < width;x = x + grig_size) {
var element = document.elementFromPoint(x, y);
if(window.getComputedStyle(element).cursor == "pointer") {
res = x + "x" + y;
i++;
}
}
}
res;
в хумане вызываю
$res = $browser->run_java_script("", './js/js.txt');
print_r($res);
System.Collections.Generic.List`1[System.Object]
Получить переменную из javascript
Re: Получить переменную из javascript
$js="var res=\"0x0\";var grig_size=1;var height=1;var width=1; for(y = grig_size; y < height;y = y + grig_size) { for(x = grig_size; x < width;x = x + grig_size) { var element = document.elementFromPoint(x, y); if(window.getComputedStyle(element).cursor == \"pointer\") { res = x +\"x\" + y; i++; } } } res;"; echo $browser->run_java_script($js);
Re: Получить переменную из javascript
Походу форум побил мой код, аоэтому обрамил тэгом. Я его запускаю из файла т.к. не хочу засорять код хумана, через
$res = $browser->run_java_script("", './js/js.txt');
И если я собираю в переменную типа str + str + x + \"x\" + y;
то я получаю все в хумане, а вот когда в массив то выскакивает ошибка System.Collections.Generic.List`1[System.Object]
Так вот как получить массив ?
Да и еще если ставлю grig_size скажем 10, т.е. цикл получается большим, то ничего не приходит. Такое ощущение что памяти не хватает хотя сервак 32гб
$res = $browser->run_java_script("", './js/js.txt');
И если я собираю в переменную типа str + str + x + \"x\" + y;
то я получаю все в хумане, а вот когда в массив то выскакивает ошибка System.Collections.Generic.List`1[System.Object]
Так вот как получить массив ?
Код: Выделить всё
var grig_size = 50;
var width = window.innerWidth;
var height = window.innerHeight;
var res = [];
var x,y;
var i = 0;
for(y = grig_size; y < height;y = y + grig_size) {
for(x = grig_size; x < width;x = x + grig_size) {
var element = document.elementFromPoint(x, y);
if(window.getComputedStyle(element).cursor == "pointer") {
res[i] = x + "x" + y;
i++;
}
}
}
res;
Re: Получить переменную из javascript
насчет массива - сделайте просто JSON.stringify(res) вместо res и потом разберите полученный JSON
$js="var grig_size = 50; var width = window.innerWidth; var height = window.innerHeight; var res = []; var x,y; var i = 0; for(y = grig_size; y < height;y = y + grig_size) { for(x = grig_size; x < width;x = x + grig_size) { var element = document.elementFromPoint(x, y); if(window.getComputedStyle(element).cursor == 'pointer') { res = x + 'x' + y; i++; } } } JSON.stringify(res);"; $arr=json_decode($browser->run_java_script($js)); print_r($arr);
Re: Получить переменную из javascript
Да и еще если ставлю grig_size скажем 10, т.е. цикл получается большим, то ничего не приходит. Такое ощущение что памяти не хватает хотя сервак 32гб
а какая модель браузера у вас ?