Как вычесть номера телефонов из текста внутри тегов <p> во внешний файл, используя JS?

261
16 марта 2017, 22:27

Доброго времени суток!

Заранее прошу меня извинить, если буду как-то невнятно излагать мысли. Я новичок в JS, помимо того пока только занимаюсь мануал тестированием и пишу тесты, используя ProtractorJS (знания в JS ограничены бесплатными курсами с codecademy, то есть почти ничего).

Для testData требуются номера мобильных телефонов, которые размещены на сайте в тегах <td>, <p>.

Пример:

<td>0970914975; vk.com/eu г.Киев ул.Короля 33а; test@yandex.ua Иванов Иван Иванович</td>
<p>Петров Петр Петрович, Чернигов, ОПРНВ, test@yandex.ru 0976253233</p>

Нужно написать скрипт, что бы считывались из всей страницы только номера мобильных телефонов и сохранялись списком (json, js, txt без разницы). Проштудировав Google, ничего толком не нашел (возможно не правильно ищу?). Прошу помощи опытных специалистов. Навести на путь истинный. Подскажите, пожалуйста, в какую сторону копать.

Answer 1

Вот решение моей задачи:

/**
 * Created by Andrew Reznik on 3/15/2017. Selenium
 */
let webdrv = require('selenium-webdriver'),
    By = webdrv.By;
let fs = require('fs');
//Создаем переменную для массива
let content = [];
const SELENIUM_HOST = 'http://localhost:4444/wd/hub';
const URL = 'http://test.com/index.html';
let client = new webdrv.Builder()
    .usingServer(SELENIUM_HOST)
    .withCapabilities({browserName: 'firefox'})
    .build();
client.get(URL)
    .then(function () {
        return client.findElements(By.xpath("/html/body/div[@id='wrapper']/div[@id='page']/div[@class='row'][4]"));
    })
    .then((elements) => {
        for (let i = 0; i < elements.length; i++) elements[i].getText()
            .then(function (text) {
                content.push(text.match(/\d{10}/g) + "\n");
            });
        return content;
    })
    .then(content =>
    fs.writeFile("phones.txt", content, function (err) {
        if (err) {
            return console.log(err);
        }
        console.log("The file was saved!");
    }));
READ ALSO
Как подключится к комнате в socket.io?

Как подключится к комнате в socket.io?

Следуя гайду на оффицаильном сайте socketio я сделал простенький чат

629
Получение GET переменной из URL&#39;а в JS

Получение GET переменной из URL'а в JS

Как с помощью JS считать GET переменную которая находится в URL'е? Например: http://siteru?data=value

306
Как выбрать все option в select multiple на angular?

Как выбрать все option в select multiple на angular?

Нужно сделать так что бы первоначально были выбраны все возможные option; Как это сделать? если я поставлю просто selected, ангуляру будет поровну

442
Свой текстовый редактор

Свой текстовый редактор

Хочу написать свой текстовый редактор, но не знаю даже с чего начатьЯ так понимаю что мне нужна консоль или поле ввода на подобии textedit(textview),...

307