Взять строку из файла и вставить ее в поле ввода

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
Хозяин Гугла
Сообщения: 42
Зарегистрирован: 19 июн 2019, 19:59

Взять строку из файла и вставить ее в поле ввода

Сообщение Хозяин Гугла » 19 июн 2019, 20:28

Подксажите как мне такое чудо реализовать.
Доупустим,

Код: Выделить всё

<?php

$xhe_host = "127.0.0.1:7010";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

//заходим в гугол
$browser->navigate("https://google.com");

//кликаем на поисковую строку
$mouse->click(742,349);

//вводим заданный текст
$keyboard->send_input("textfile",10);


// Quit
$app->quit();
?>
Как мне сделать, чтобы вводились поочередно строчки из файла в поиск, а не заданный текст?
Как я понимаю есть
$text = $textfile->read_file('C:1.txt',10);
и
$textfile->get_line_from_file("С:1.txt","false",5,60)

Подкскажите как это подсунуть в $keyboard->send_input("textfile",10);
или как то еще реализовать ввод текста из файла...
Заранее спасибо)

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Взять строку из файла и вставить ее в поле ввода

Сообщение bigfozzy » 20 июн 2019, 02:27

<?php

$xhe_host = "127.0.0.1:7010";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

$num=0;
while (true)
{
  //заходим в гугол
  $browser->navigate("https://google.com");

  //кликаем на поисковую строку
  $mouse->click(742,349);

  $text = $textfile->get_line_from_file('C:\\1.txt',false,$num++);
  if ($text=="")
    break;

  //вводим заданный текст
  $keyboard->send_input($text,10);

  // пауза
  sleep(1);
}


// Quit
$app->quit();
?>

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: Взять строку из файла и вставить ее в поле ввода

Сообщение Support » 20 июн 2019, 02:56

На сайте наших партнёров есть пример работы с Google, можно взять код оттуда Скрипт парсер Гугл. Это скрипт, который демонстрирует как можно разобрать поисковую выдачу Гугл.

Также можно воспользоваться Помощником кода если вы работаете в Studio. Выбираем два действия
1. Конструкции->Массивы->получить данные из файла в массив
2. Конструкции->Массивы->перебрать массив в цикле

получаем код :

// получить в массив данные из файла
// каждая строка элемент массива
$arr = file("путь к файлу",FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

// перебрать массив в цикле 
for($i=0;$i<count($arr);$i++)
{
   $value = $arr[$i];

   // действие

}
под действие добавляем
//заходим в гугол
$browser->navigate("https://google.com");

//кликаем на поисковую строку
$mouse->click(742,349);

//вводим заданный текст
$keyboard->send_input("textfile",10);

и вместо "путь к файлу" подставляем реальный путь к файлу. В итоге получим:

// получить в массив данные из файла
// каждая строка элемент массива
$arr = file('C:\1.txt',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

// перебрать массив в цикле 
for($i=0;$i<count($arr);$i++)
{
   $value = $arr[$i];

   // действие
//заходим в гугол
$browser->navigate("https://google.com");

//кликаем на поисковую строку
$mouse->click(742,349);

//вводим заданный текст
$keyboard->send_input($value,10);

}

Хозяин Гугла
Сообщения: 42
Зарегистрирован: 19 июн 2019, 19:59

Re: Взять строку из файла и вставить ее в поле ввода

Сообщение Хозяин Гугла » 20 июн 2019, 03:51

Cпасибо за ответы. Еще такой вариант нагуглил, если кто то будет искать решение.
Берет рандомную строчку из файла и вставляет в инпут:

Код: Выделить всё

<?php
$xhe_host = "127.0.0.1:7010";
require("../Templates/xweb_human_emulator.php");
$path_data = 'C:\texts.txt';
$text= file($path_data,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$str = $text[ array_rand($text) ]; 
unset($text); 
$input->set_focus_by_name("q", "0");
$keyboard->send_input("$str", 10);
$app->quit();
?>

Ответить