Как получить возвращаемое значение функции JavaScript в переменную Python - PullRequest
1 голос
/ 06 августа 2020

Я пытаюсь почистить некоторую информацию из локального хранилища веб-сайта, используя selenium webdriver. Я использую python 3.8.5. Я хочу вернуть это выходное значение JavaScript в переменную python.

number = driver.execute_script("setTimeout(function(){ localStorage.getItem('value'); }, 1500);")

Но когда я печатаю переменную number по какой-то причине результат - Нет. Есть идеи, что мне делать?

Ответы [ 4 ]

1 голос
/ 06 августа 2020

Вы должны вернуться из JS скрипта:

print(driver.execute_script('return localStorage.getItem("value");'))
0 голосов
/ 06 августа 2020

Это приведет к переходу на эту страницу, где вы задали этот вопрос, и возвратит элемент localStorage "se: fkey", используя javascript:

0 голосов
/ 06 августа 2020

Если вы хотите передать любое значение со стороны клиента (javascript) в бэкэнд (python), вы можете использовать ajax для отправки данных здесь: https://www.w3schools.com/jquery/jquery_ajax_get_post.asp

Но лучший способ - получить необходимые данные напрямую через python, что будет достаточно быстро. Есть много пакетов / библиотек, таких как селен, запросы, красивые soap, с ними вы можете это сделать.

0 голосов
/ 06 августа 2020

Вы можете использовать это:

number = driver.execute_script("setTimeout(function(){ return localStorage.getItem('value'); }, 1500);")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...