@Lighter_Allen

Можно ли с помощью selenium перебирать значения параметров и сравнивать результаты этого «перебора» меж собой?

В чем суть. В питоне не разбираюсь ни на грамм, поэтому прежде чем изучать, хотел бы узнать, возможно ли совершить желаемое. Буду рад любой помощи.
Я работаю в trading view и составил там стратегию на Pine Script. В ней используются 6 параметров, которые я могу переключать, как либо комбинируя, что дает разные результаты прибыли (условно, "AP" это числа от 1 до 10, VB это от 0.01 до 0.30). Вручную переключать - умру от старости или пропущу наиболее выгодное сочетание. При AP = 1, VB = 0.01 - это один результат; AP = 2, VB = 0.04 - уже может быть другой.
Возможно ли с помощью selenium создать такой скрипт, что:
1. Заходил бы на trading view, переключал бы вместо меня параметры стратегии, проверил бы все варианты
2. Сохранял значения прибыли после каждого переключения в какой-нибудь массив (на сайте отображается прибыль после переключения)
3. А после того, как переберет все варианты переменных и сохранения результатов перебора, сравнит значения прибыли в массиве и вынесет наибольшее из них
4. Ну и вернет эти параметры, при которых такой результат собственно получается.

Может есть и более оптимальный вариант перебора всего этого дела, но я до него не догадался. На скрине пример моих параметров, если непонятно что имел в виду под ними. Мне достаточно знать хотя бы возможно ли это, но желательно с открытым пояснением, примером "как можно попытаться сделать" или чем-либо иным.

671ce76fa81bf886289570.png
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
Возможно ли с помощью selenium создать такой скрипт, что:

Возможно, что может "увидеть" живой человек в браузере, то может и selenium. Вопрос лишь в написание кода и преодоление защиты со стороны сайта, если таковая имеется.

P.S. если контент сайта формируется не динамическим путем, то проще использовать библиотеки по типу requests.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
TradingView полностью динамическое веб приложение на javascript, это значит работа возможна только из браузера.

Я надеюсь вы уже проверили штатные скрипты tradingview, с достаточно объемным функционалом и они вам не подошли?

Если вы не знаете python но к примеру можете написать простейшее приложение javascript (для html) то лучше воспользоваться расширениями браузера, вставляющие ваш код на страницу, такими как greasemonkey/tempermonkey. Код для автоматизации действий с их помощью обычно значительно проще, чем управление 'снаружи', но возможностей (по простому) с ним меньше чем с помощью selenium (например когда нужно одновременное взаимодействие с разными страницами, перемещение по истории туда сюда и т.п. да и просто работа с общими данными удобнее на python снаружи чем пытаться держать данные в браузерной базе данных).

В вашем случае нужно просто кликать по экрану с временными интервалами - инжект скрипта на страницу - лучший вариант.

В похожей ситуации я с помощью javascript создавал простую панель с кнопками в углу страницы, на onclick кнопок добавлял скрипт вида:
setTimeout(метод,миллисекунды);
а в методе на таймауте выполнял действие и запускал следующий таймаут (получается многоэтажная некрасивая конструкция но очень простая).

Действия на странице требуют идентификации элемента, что обычно (если нет противодействия со стороны разработчика, вроде tradingview этим не страдают) делают с помощью css селектора и простейшей конструкции:
$('css-селектор').click() чтобы кликнуть или $('css-селектор').val("новое значение") чтобы сменить значение

спасибо jquery за то что есть на каждом сайте.

Еще лайфхак, css селектор можно автоматически получить в инспекторе браузера (F12) нажав правую кнопку на нужном элементе - копировать - css-селектор.

p.s. если jquery нет то вместо $ придется использовать querySelector('css-selector') а устанавливать значение в зависимости от типа элемента либо text либо value.. в общем гуглить документацию по элементарному html
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы