Pobieranie zmiennej ze skryptu js w pythonie.

0

W skrypcie mam tak:

function A(){

	this.B = function(){
    };

};

Jak w pythonie pobtać z tego skryptu wartość B nie zmieniająć nic w skrypcie.?

1

skrypt js jest na froncie a python na backendzie czy oba na backendzie?

0

Pobieram z sieci , jako zmienną.

0

Tam nic nie pisze o pobieraniu zmiennej z funkcji.

0

Może jaśniej wytłumaczę. Chcę w pythonie pobrać wartość w funkcii
w js. Czyli jak funkcja ma w skrypcie zmienną, to ja chcę ją pobrac w py.

1

Wytłumaczyłeś jasno, i dostałeś jasną odpowiedź. Jeśli chcesz wykonać skrypt, to musisz wykonać skrypt. Selenium jest jednym z rozwiązań do tego.

Możesz też, teoretycznie, robić statyczną analizę skryptu — tzn. nie wykonywać go, a tylko przeszukać jego plik tekstowy pod kątem odpowiednich informacji. Metoda… zawodna, delikatnie ujmując. Ale możliwa, i jak masz coś naprawdę prostego do wyciągnięcia, to może i nawet lepsza.

0

Ok, ale jak pobrać zmienną?

2

Nie rozumiem, czego nie rozumiesz — wykonać skrypt i dostać ją jako rezultat (tak jak to opisuje link wyżej); albo wykonać statyczną analizę kodu szukając czego trzeba. Np. wczytując plik i szukając wyrażenia regularnego nazwa_zmiennej = (.*);. Drugie rozwiązanie zadziała tylko w bardzo prostych przypadkach.

0

Oki. Dzięki. To jest jakiś pomysł, ale nie da się wyciągnąć inaczej, jak zmienić skrypt?

1
xenix33 napisał(a):

Oki. Dzięki. To jest jakiś pomysł, ale nie da się wyciągnąć inaczej, jak zmienić skrypt?

Powiedz dokładnie co chcesz zrobić. Z podkreśleniem na dokładnie.

1

Ten wątek to poezja. W sensie, że nie wiadomo, o co autorowi chodzi i można na różne sposoby interpretować XD

xenix33 napisał(a):

Może jaśniej wytłumaczę. Chcę w pythonie pobrać wartość w funkcii
w js. Czyli jak funkcja ma w skrypcie zmienną, to ja chcę ją pobrac w py.

Napisz kontekst. Co piszesz, że korzystasz jednocześnie z Pythona i JSa? Stronę webową? Scraper? Test automatyczny? Bo teraz to można zgadywać.

W przypadku kiedy byś pisał stronę webową, gdzie Python byłby po stronie backendu, a JavaScript po stronie frontendu, to odpowiedź brzmi:

należy zserializować zmienną do np. JSON, przesłać JSON przez sieć (np. za pomocą fetch), a potem w Pythonie odebrać to i zdeserializować.

W innych przypadkach nie jestem w stanie ci odpowiedzieć.

0

Mam skrypt w js:
link

Piszę skrypt w pythonie i potrzebuję kilku zmiennych z tego skryptu, np: device_id.

0
xenix33 napisał(a):

Mam skrypt w js:
link

Piszę skrypt w pythonie i potrzebuję kilku zmiennych z tego skryptu, np: device_id.

A ten skrypt odpalasz w przeglądarce czy lokalnie na swojej maszynie?

0

Skrypt w js w soim programie pobieram do zmiennej. Czyli njs mam w zmiennej tekstowej.

1
xenix33 napisał(a):

Skrypt w js w soim programie pobieram do zmiennej. Czyli njs mam w zmiennej tekstowej.

Czyli chcesz evaluować JS w swoim programie? (Tzn uruchomić)?

Jeśli tak, to możesz albo exec() i uruchomić proces np z node; albo zainstalować js2py i próbować uruchomić JS'a z pythona. Ale to mi się wydaje dziwny pomysł.

0
xenix33 napisał(a):

Skrypt w js w soim programie pobieram do zmiennej. Czyli njs mam w zmiennej tekstowej.

Widzę że w ramach "objaśnień" jak potłuczony wklejasz to samo kiepsko napisane zdanie, i nie rozumiesz zadawanych ci pytań.

1

Nie lepiej przepisać js na pythona? Wygodniej będzie się z tego korzystać.

0

Js na pa kod pythona. Duży skrypt i za dużo roboty. Ale dzięki. Coś wymyślę.

1
xenix33 napisał(a):

Js na pa kod pythona. Duży skrypt i za dużo roboty. Ale dzięki. Coś wymyślę.

najlepiej w tym kodzie js zrób

console.log(JSON.stringfy(output));

potem odpal skrypt w nodzie:

node skrypt.js

i potem przepipe'uj go do pythona

node skrypt.js | python my_program.py

i w pythonie odczytaj stdin i zrób json.loads()

0

Dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1