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

21 Авг 2019 в 06:25
245 +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 Апр 2024 в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир