get_pos_in_webpage_picture(picture_filepath, similar_koeff=0.95, similar_algoritm=5); - получить координаты заданного изображения на текущей странице
Функция на вход принимает параметры:
После отработки функция возвращает результат своей работы в робот :
- picture_filepath – путь к файлу изображения
- similar_koeff – коэффициент подобия (от 0 до 1) - доступен с версии 7.0.3
- similar_algoritm – алгоритм поиска подобия (от 0 до 5) - доступен с версии 7.0.3 :
- 0 - R(x,y)=sumx',y'[T(x',y')-I(x+x',y+y')]2 - Squared difference (разница в квадрате)
- 1 - R(x,y)=sumx',y'[T(x',y')-I(x+x',y+y')]2/sqrt[sumx',y'T(x',y')2 sumx',y'I(x+x',y+y')2] - (нормализованная разница в квадрате)
- 2 - R(x,y)=sumx',y'[T(x',y') I(x+x',y+y')] - Cross correlation (корреляция)
- 3 - R(x,y)=sumx',y'[T(x',y') I(x+x',y+y')]/sqrt[sumx',y'T(x',y')2 sumx',y'I(x+x',y+y')2] - Normalized cross correlation (нормализованная корреляция)
- 4 - R(x,y)=sumx',y'[T'(x',y') I'(x+x',y+y')], where T'(x',y')=T(x',y') - 1/(wxh) sumx",y"T(x",y") I'(x+x',y+y')=I(x+x',y+y') - 1/(wxh) sumx",y"I(x+x",y+y") - Cosine coefficient (косинусный коэффициент)
- 5 - R(x,y)=sumx',y'[T'(x',y') I'(x+x',y+y')]/sqrt[sumx',y'T'(x',y')2 sumx',y'I'(x+x',y+y')2] - Normalized cosine coefficient (нормализованный косинусный коэффициент)
pos – координаты заданного изображения на странице (XHEPosition : pos->x и pos->y)
Пример использования get_pos_in_webpage_picture (PHP):
<?php $xhe_host = "127.0.0.1:7013"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/init.php"; require($path); // начало echo "<hr><font color=blue>webpage->".basename (__FILE__)."</font><hr>"; // имя скриншота $screen_name="test/kak.bmp"; if ($browser->get_model()=="chromium") $screen_name="test/kak1.bmp"; // 1 echo "1. Перейдем на сайт, с котрого у нас есть скриншот : "; echo $browser->navigate("http://bigfozzy.com")."<br>"; // 2 echo "2. Получим координаты картинки в картинке браузера : "; $pos=$webpage->get_pos_in_webpage_picture($screen_name); echo "левый верхний угол картинки $pos->x x $pos->y<br>"; // 3 echo "3. Перейдем в заданное месте : "; echo $mouse->move($pos->x,$pos->y)."<br>"; sleep(7); // 4 echo "4. Перейдем на сайт, с котрого у нас есть скриншот : "; echo $browser->navigate("https://vk.com/soft_seo")."<br>"; // 5 echo "5. Получим координаты картинки в картинке браузера : "; $pos=$webpage->get_pos_in_webpage_picture($screen_name,0.86,4); echo "левый верхний угол картинки $pos->x x $pos->y<br>"; // 6 echo "6. Перейдем в заданное месте : "; echo $mouse->move($pos->x,$pos->y)."<br>"; // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Пример использования get_pos_in_webpage_picture (C#):
#region using using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Threading; using XHE; using XHE.XHE_DOM; using XHE.XHE_System; using XHE.XHE_Window; using XHE.XHE_Web; using System.Drawing; #endregion class Program:XHEScript { static void Main(string[] args) { // init XHE server="127.0.0.1:7070"; InitXHE(); // начало echo("<hr><font color=blue>webpage.get_x_in_webpage_picture</font><hr>"); // имя скриншота (ссылка Кратко) string screen_name="test\\kak.bmp"; if (browser.get_model()=="chromium") screen_name="test\\kak1.bmp"; // 1 шаг echo("1. Перейдем на сайт, с котрого у нас есть скриншот : "); echo(browser.navigate("http://bigfozzy.com/")+"<br>"); // 2 шаг echo("2. Получим координаты картинки в картинке браузера : "); Point pos=webpage.get_pos_in_webpage_picture(screen_name); echo("левый верхний угол картинки "+pos.X+" x "+pos.Y+"<br>"); // 3 шаг echo("3. Перейдем в заданное место : "); echo(mouse.move(pos.X,pos.Y)+"<br>"); sleep(2); // 4 шаг echo("4. Перейдем на сайт, с котрого у нас есть скриншот : "); echo(browser.navigate("vk.com")+"<br>"); // 5 шаг echo("5. Получим координаты картинки в картинке браузера : "); pos=webpage.get_pos_in_webpage_picture(screen_name,0.9,0); echo("левый верхний угол картинки "+pos.X+" x "+pos.Y+"<br>"); // 6 шаг echo("6. Перейдем в заданное место : "); echo(mouse.move(pos.X,pos.Y)+"<br>"); // конец echo("<hr><br>"); app.quit(); } }
Пример использования get_pos_in_webpage_picture (Python):
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:7070" from xweb_human_emulator import * # начало echo("<hr><font color=blue>webpage.xxxxxxxxx</font><hr>") # имя скриншота screen_name="test\\kak.bmp" if browser.get_model()=="chromium": screen_name="test\\kak1.bmp" # 1 echo("1. Перейдем на сайт, с котрого у нас есть скриншот : ") echo(browser.navigate("http://bigfozzy.com"),"<br>") # 2 echo("2. Получим координаты картинки в картинке браузера : ") pos = webpage.get_pos_in_webpage_picture(screen_name) echo("левый верхний угол картинки "+str(pos.x)+" x "+str(pos.y)+"<br>") # 3 echo("3. Щелкнем в заданном месте : ") echo(mouse.move(pos.x,pos.y),"<br>") # 4 echo("4. Перейдем на сайт, с котрого у нас есть скриншот : ") echo(browser.navigate("http://vk.com"),"<br>") # 5 echo("5. Получим координаты картинки в картинке браузера : ") pos = webpage.get_pos_in_webpage_picture(screen_name,0.8,4) echo("левый верхний угол картинки "+str(pos.x)+" x "+str(pos.y)+"<br>") # 6 echo("6. Щелкнем в заданном месте : ") echo(mouse.move(pos.x,pos.y),"<br>") # конец echo("<hr><br>") # Quit app.quit()
Пример использования get_pos_in_webpage_picture (JS):
// подключим объект для управления эмулятором, если еще не подключен xhe_host="127.0.0.1:7070"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>webpage.get_y_in_webpage_picture</font><hr>"); // имя скриншота screen_name="test\\kak.bmp"; if (browser.get_model()=="chromium") screen_name="test\\kak1.bmp"; // 1 шаг echo("1. Перейдем на сайт, с котрого у нас есть скриншот : "); echo(browser.navigate("http://bigfozzy.com")+"<br>"); // 2 шаг echo("2. Получим координаты картинки в картинке браузера : "); var pos=webpage.get_pos_in_webpage_picture(screen_name); echo("левый верхний угол картинки "+pos.x+" x "+pos.y+"<br>"); // 3 шаг echo("3. Щелкнем в заданном месте : "); echo(mouse.move(pos.x,pos.y)+"<br>"); app.sleep(2); // 4 шаг echo("4. Перейдем на сайт, с котрого у нас есть скриншот : "); echo(browser.navigate("http://vk.com")+"<br>"); // 5 шаг echo("5. Получим координаты картинки в картинке браузера : "); var pos=webpage.get_pos_in_webpage_picture(screen_name,0.9,0); echo("левый верхний угол картинки "+pos.x+" x "+pos.y+"<br>"); // 6 шаг echo("6. Щелкнем в заданном месте : "); echo(mouse.move(pos.x,pos.y)+"<br>"); // конец echo("<hr><br>"); // Quit app.quit();