Всем доброго времени суток!
Пытаюсь получить динамические данные но не один способ так и не удался. Пожалуйста подскажите есть ли способ в Human Emulator вытащить эти самые проценты и возвести их в переменную и работать с ними математически. Сломал уже всю голову ничего не помогает.
CSS селекторы Human Emulator не поддерживает. Видит только через расширение Selenium IDE.
Ребята помогите пожалуйста.
Парсинг динамических данных в реальном времени
Re: Парсинг динамических данных в реальном времени
а если так:
<?php $xhe_host = "127.0.0.1:7094"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>interface->".basename (__FILE__)."</font><hr>"; // 1 echo "1. Перейдем на полигон : "; echo $browser->navigate("http://ya.ru")."<br>"; // 2 echo "2. Получим стиль элемента : "; echo $anchor->get_by_number(2)->get_computed_style()."<br>"; // 3 echo "3. Получим стиль элемента animation : "; echo $anchor->get_by_number(2)->get_computed_style("animation")."<br>"; // 4 echo "4. Получим все стили псевдо элемента ::before : "; echo $anchor->get_by_number(2)->get_computed_style("",'::before')."<br>"; // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Re: Парсинг динамических данных в реальном времени
Такой вариант врятли подойдёт потому что данные надо извлекать в реальном времени и их 10 одинаковых блоков.
есть какие то другие варианты? Yапример извлечь через JavaScript.
есть какие то другие варианты? Yапример извлечь через JavaScript.
Re: Парсинг динамических данных в реальном времени
Вы можете также использовать и JS:
<?php $xhe_host = "127.0.0.1:7094"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>interface->".basename (__FILE__)."</font><hr>"; // 1 echo "1. Перейдем на полигон : "; echo $browser->navigate("http://humanemulator.net/poligon/canvas.html")."<br>"; // JS $js =" var context = element.getContext('2d'); var centerX = element.width / 2; var centerY = element.height / 2; var radius = element.height / 2-10; var i; for (i=0;i<5;i++) { context.beginPath(); context.arc(centerX, centerY, radius-i*8, Math.PI/2, 4 * Math.PI/2, false); if (i%2==0) context.fillStyle = 'green'; else if (i%3==0) context.fillStyle = 'red'; else context.fillStyle = 'blue'; context.fill(); context.lineWidth = 1; context.strokeStyle = '#003300'; context.stroke(); } i "; // 2 echo "2. Отрисуем картинку на элменте по номеру (нарисуем на холсте) : "; echo $canvas->get_by_number(0)->run_js($js)."\n"; // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Re: Парсинг динамических данных в реальном времени
или jQuery:
<?php $xhe_host = "127.0.0.1:7013"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>"; // 1 echo "1. Перейдем на полигон : "; echo $browser->navigate("http://www.humanemulator.net/poligon/anchor.html")."<br>"; // 2 echo "2. Выполним jQuery : "; echo $browser->run_jquery("document.getElementsByName('list')[0].id"); // конец echo "<hr><br>"; // Quit $app->quit(); ?>