Делать тесты slimerjs или phantomjs через прокси? Всем доброго времени суток.
Долго мучаюсь с тестами, помогите кто знает:
Написал небольшой тест на slimerjs который заходит на страницу и делает свои задачки, но встала проблема с использованием прокси а их можно использовать только тогда, когда запускаешь сам тест тоесть через командную строку вот так slimerjs.bat -proxy localhost myscript.js и тут встала проблема как можно к примеру имя файл с прокси запускать тест автоматом через рандомный прокси ведь если каждый раз вручную указывать каждый раз то это какой-то ужас, проблемы бы небыло если бы в самом скрипте можно было бы задать прокси но тут так не сделаешь и в phantomjs аналогичная ситуация, может-быть ктонибуть знает аналоги данных инструментов без данной проблемы.

21 Авг 2019 в 06:25
214 +1
0
Ответы
1

Для использования прокси в тестах с помощью slimerjs или phantomjs можно использовать библиотеку ProxyChain. Эта библиотека позволяет устанавливать прокси для всего трафика внутри скрипта, а не только через командную строку.

Пример использования ProxyChain с slimerjs:

const proxyChain = require('proxy-chain');
(async () => {
const oldProxyUrl = 'http://username:password@127.0.0.1:8080'; // Старый прокси
// Создаем новый случайный прокси
const newProxyUrl = await proxyChain.anonymizeProxy(oldProxyUrl);
// Запускаем slimerjs с новым прокси
const slimer = require('slimerjs');
const page = await slimer.createPage();
await page.setProxy(newProxyUrl);
await page.open('http://example.com');
// Делаем что-то на странице
// Закрываем страницу
await page.close();
// Уничтожаем прокси после использования
await proxyChain.closeAnonymizedProxy(newProxyUrl);
})();

Пример использования ProxyChain с phantomjs:

const phantom = require('phantom');
(async () => {
const oldProxyUrl = 'http://username:password@127.0.0.1:8080'; // Старый прокси
// Создаем новый случайный прокси
const newProxyUrl = await proxyChain.anonymizeProxy(oldProxyUrl);
const instance = await phantom.create();
const page = await instance.createPage();
await page.set('proxy', newProxyUrl);
await page.open('http://example.com');
// Делаем что-то на странице
// Закрываем страницу
await page.close();
// Уничтожаем прокси после использования
await proxyChain.closeAnonymizedProxy(newProxyUrl);
})();

Таким образом, вы можете использовать ProxyChain для установки прокси в тестах на slimerjs или phantomjs без необходимости указывать прокси каждый раз через командную строку.

20 Апр в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир