Как в Python выполнить на сайте Javascript запрос?

Есть сайт, где при нажатии на кнопку выполняется скрипт getHero(), после чего на сайте появляется название персонажа. Как в Python передать этот запрос сайту, чтобы потом оттуда получить персонажа?


Ответы (1 шт):

Автор решения: Jack_oS

На jfx.ac/hero можно обнаружить саму функцию getHero():

function getHero() {
    if (sessionStorage.herolist) { // If we have already accessed the herolist this session, use our cached data so we don't need to request it again.
        displayHero();
    } else { // Otherwise fetch our herolist and store it in our session
    $.ajax({
         url: 'heroes.txt',
         success: (data) => {
             sessionStorage.herolist = JSON.stringify(data.split("\n"));
                displayHero();
             }
         });
     }
 }

где есть адрес, из которого берется файл со списком имен:

https://jfx.ac/hero/heroes.txt

Загрузить его в список names:

>>> import requests

>>> r = requests.get('https://jfx.ac/hero/heroes.txt')
>>> names = [n for n in r.text.split('\n')]

и взять случайное имя:

>>> import random

>>> name = random.choice(names)
>>> name
'Nyx Assassin'
→ Ссылка