Hướng dẫn can i do javascript in python? - tôi có thể làm javascript trong python không?

Xin chào người đọc, Hy vọng bạn và gia đình có sức khỏe tốt!

JavaScript là một ngôn ngữ rất mạnh mẽ, thành thật mà nói, tôi là một em bé trong JS nhưng tôi luôn tự hỏi, JS có thể tích hợp với Python. Gần đây, tôi đã lướt Internet và mô -đun JS2Py xuất hiện trong tìm kiếm Google của tôi.

Trong bài viết trên blog này, chúng tôi sẽ tìm hiểu cách chạy các lệnh JavaScript từ bên trong tập lệnh Python. Chúng tôi sẽ sử dụng mô -đun JS2Py.

Kiểm tra kho lưu trữ cho tài nguyên cuối cùng trong Python. Thả một ngôi sao nếu bạn thấy nó hữu ích! Có bất cứ điều gì để thêm? Mở PR trên cùng!

Bạn có thể tham khảo hướng dẫn video YouTube của tôi để hiểu rõ hơn và hướng dẫn từng bước giống nhau.

Những gì sẽ được đề cập trong blog này

1. Js2Py Introduction
2. How to Run Javascript commands from inside Python script

Giới thiệu JS2Py:

Bạn có thể dịch JavaScript sang Python bằng JS2Py. JS2Py là một mô -đun Python có thể được sử dụng để dịch JavaScript thành Python & hoạt động như một trình thông dịch JavaScript được viết bằng Python thuần túy 100%.

  • Nó dịch bất kỳ JavaScript hợp lệ (ECMA Script 5.1) sang Python.
  • Bản dịch hoàn toàn tự động.
  • Không có bất kỳ phụ thuộc nào - chỉ sử dụng thư viện Python tiêu chuẩn.

Limitations:

Nó có ba hạn chế:

  • Chế độ nghiêm ngặt bị bỏ qua.
  • với tuyên bố không được hỗ trợ.
  • Cuộc gọi gián tiếp đến Eval Will được coi là một cuộc gọi trực tiếp đến Eval (do đó luôn luôn trong phạm vi địa phương)

Nếu bạn muốn biết thêm về nó, bạn có thể tham khảo tài liệu JS2Py. Sử dụng liên kết này để điều hướng đến tài liệu.

Bây giờ bạn đã nhận thức được những điều cơ bản của JS2Py, chúng ta có thể tiến lên phần mã hóa. Bắt đầu nào!

Thời gian để mã!

Bạn có thể tìm thấy tất cả các mã tại Kho lưu trữ GitHub của tôi. Thả một ngôi sao nếu bạn thấy nó hữu ích.

Để truy cập thư viện Python, bạn cần cài đặt nó vào môi trường Python của mình, hãy sử dụng lệnh sau để cài đặt

import js2py
0

pip install js2py

Bây giờ, hãy để nhập khẩu gói trong tập lệnh Python của chúng tôi.

import js2py

Hãy bắt đầu với một

import js2py
1 đơn giản.

#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)

Chúng ta hãy nhìn vào mã

import js2py
2 tương đương:

print('Hello World!')

Vì vậy, ở đây, chúng tôi đã lưu trữ lệnh

import js2py
3 trong
import js2py
4. Chúng tôi sẽ sử dụng phương thức
import js2py
5 từ mô -đun
import js2py
6 tại đây, chuyển mã JS của chúng tôi trong đó và lưu trữ nó trong
import js2py
7. Cuối cùng chúng tôi là kết quả của chúng tôi.

#print the result
res1
#OUTPUT: Hello World!

Bây giờ, hãy để Lôi nhìn vào một ví dụ khác! Hãy để tạo ra một chức năng bổ sung trong JavaScript.

#exapmle 2
#a js function
js2 = '''function add(a, b){
return a + b;
}'''

Chúng ta hãy nhìn vào mã

import js2py
2 tương đương:

def add(a, b):
return a+b

Vì vậy, ở đây, chúng tôi đã lưu trữ lệnh

import js2py
3 trong
import js2py
4. Chúng tôi sẽ sử dụng phương thức
import js2py
5 từ mô -đun
import js2py
6 tại đây, chuyển mã JS của chúng tôi trong đó và lưu trữ nó trong
import js2py
7. Cuối cùng chúng tôi là kết quả của chúng tôi.

a = int(input('Enter a num: '))

Bây giờ, hãy để Lôi nhìn vào một ví dụ khác! Hãy để tạo ra một chức năng bổ sung trong JavaScript.

res2 = js2py.eval_js(js2)

Hãy để lưu trữ nó trong

import js2py
9 và để làm cho chương trình của chúng tôi tương tác nhiều hơn, hãy lấy đầu vào từ người dùng bên trong tập lệnh Python.

pip install js2py
0

Chúng tôi sẽ sử dụng phương pháp

import js2py
5 từ mô -đun
import js2py
6 tại đây, truyền trong hàm JS của chúng tôi trong đó và lưu trữ nó trong
#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)
2.

Cuối cùng, hãy để in ra kết quả của chúng tôi. Vì vậy, lưu và chạy tập lệnh Python.

Và nó sẽ xuất hiện bổ sung hai số. Nó sẽ thay đổi vì nó phụ thuộc vào đầu vào của người dùng.

Đây là một ví dụ làm việc cơ bản của JS2Py. Đây là tất cả về các lệnh JavaScript chạy từ bên trong tập lệnh Python. Đó là nó!

Bạn có thể tìm thấy tất cả các mã tại Kho lưu trữ GitHub của tôi. Thả một ngôi sao nếu bạn thấy nó hữu ích.

Để truy cập thư viện Python, bạn cần cài đặt nó vào môi trường Python của mình, hãy sử dụng lệnh sau để cài đặt

import js2py
0

Bây giờ, hãy để nhập khẩu gói trong tập lệnh Python của chúng tôi.

Hãy bắt đầu với một

import js2py
1 đơn giản.

  • Chúng ta hãy nhìn vào mã
    import js2py
    2 tương đương:
  • Vì vậy, ở đây, chúng tôi đã lưu trữ lệnh
    import js2py
    3 trong
    import js2py
    4. Chúng tôi sẽ sử dụng phương thức
    import js2py
    5 từ mô -đun
    import js2py
    6 tại đây, chuyển mã JS của chúng tôi trong đó và lưu trữ nó trong
    import js2py
    7. Cuối cùng chúng tôi là kết quả của chúng tôi.
  • Bây giờ, hãy để Lôi nhìn vào một ví dụ khác! Hãy để tạo ra một chức năng bổ sung trong JavaScript.
  • Hãy để lưu trữ nó trong
    import js2py
    9 và để làm cho chương trình của chúng tôi tương tác nhiều hơn, hãy lấy đầu vào từ người dùng bên trong tập lệnh Python.
  • Chúng tôi sẽ sử dụng phương pháp
    import js2py
    5 từ mô -đun
    import js2py
    6 tại đây, truyền trong hàm JS của chúng tôi trong đó và lưu trữ nó trong
    #example 1
    #a js command
    js1 = 'console.log( "Hello World!" )'
    res1 = js2py.eval_js(js1)
    2.
  • Cuối cùng, hãy để in ra kết quả của chúng tôi. Vì vậy, lưu và chạy tập lệnh Python.
  • Và nó sẽ xuất hiện bổ sung hai số. Nó sẽ thay đổi vì nó phụ thuộc vào đầu vào của người dùng.

Resources:

  • github.com/PiotrDabkowski/Js2Py
  • pypi.org/project/Js2Py/0.27

Đây là một ví dụ làm việc cơ bản của JS2Py. Đây là tất cả về các lệnh JavaScript chạy từ bên trong tập lệnh Python. Đó là nó!

Tôi có các trang web HTML mà tôi đang bò bằng cách sử dụng XPath.

#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)
3 của một nút nhất định cung cấp cho tôi chuỗi này:

pip install js2py
1

Tôi chỉ cần đầu ra của

#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)
4. Tôi có thể viết một regex để tìm ra toàn bộ, nhưng tôi muốn mã của mình giữ gọn gàng. Sự thay thế tốt nhất là gì?

Tôi đang vượt qua các thư viện sau, nhưng tôi không thấy một giải pháp chính xác. Hầu hết trong số họ đang cố gắng mô phỏng trình duyệt, làm cho mọi thứ sên chậm.

  • http://code.google.com/p/python-pidermonkey/ (nói rõ ràng
    #example 1
    #a js command
    js1 = 'console.log( "Hello World!" )'
    res1 = js2py.eval_js(js1)
    5)
  • http://code.google.com/p/webscraping/ (không thấy gì cho javascript, tôi có thể sai)
  • http://pypi.python.org/pypi/selenium (Trình duyệt mô phỏng)

Chỉnh sửa: Một ví dụ sẽ rất tuyệt .. (Barebones sẽ làm)

DDA

5,8292 Huy hiệu vàng24 Huy hiệu bạc34 Huy hiệu đồng2 gold badges24 silver badges34 bronze badges

Hỏi ngày 13 tháng 4 năm 2012 lúc 6:39Apr 13, 2012 at 6:39

Hướng dẫn can i do javascript in python? - tôi có thể làm javascript trong python không?

6

Bạn cũng có thể sử dụng JS2Py được viết bằng Pure Python và có thể cả thực thi và dịch JavaScript sang Python. Hỗ trợ hầu như toàn bộ JavaScript ngay cả các nhãn, getters, setters và các tính năng hiếm khi được sử dụng khác.

pip install js2py
2

Ưu điểm của JS2Py bao gồm tính di động và tích hợp cực kỳ dễ dàng với Python (vì về cơ bản JavaScript đang được dịch sang Python).

Để cài đặt:

pip install js2py
3

Đã trả lời ngày 29 tháng 5 năm 2015 lúc 19:08May 29, 2015 at 19:08

Piotr dabkowskipiotr dabkowskiPiotr Dabkowski

5.4534 Huy hiệu vàng37 Huy hiệu bạc47 Huy hiệu đồng4 gold badges37 silver badges47 bronze badges

1

Sử dụng pyv8, tôi có thể làm điều này. Tuy nhiên, tôi phải thay thế

#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)
6 bằng
#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)
7 vì không có DOM và do đó không có
#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)
8.

pip install js2py
4

Hoặc bạn có thể tạo một đối tượng tài liệu giả

pip install js2py
5

Hướng dẫn can i do javascript in python? - tôi có thể làm javascript trong python không?

Daniel f

13.3k11 Huy hiệu vàng84 Huy hiệu bạc113 Huy hiệu đồng11 gold badges84 silver badges113 bronze badges

Đã trả lời ngày 13 tháng 4 năm 2012 lúc 7:07Apr 13, 2012 at 7:07

Kien Truongkien TruongKien Truong

Huy hiệu vàng 11k2 30 Huy hiệu bạc34 Huy hiệu đồng2 gold badges30 silver badges34 bronze badges

6

Thêm một giải pháp nữa khi PYV8 dường như không được công nhận và phụ thuộc vào phiên bản cũ của LIBV8.

Pyminiracer Đây là một gói xung quanh động cơ V8 và nó hoạt động với phiên bản mới và được duy trì tích cực.

#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)
9

pip install js2py
6

Và vâng, bạn phải thay thế

#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)
6 bằng
#example 1
#a js command
js1 = 'console.log( "Hello World!" )'
res1 = js2py.eval_js(js1)
7 như những người khác đề xuất

Đã trả lời ngày 21 tháng 3 năm 2018 lúc 9:16Mar 21, 2018 at 9:16

DienowdienowDienow

1.19710 Huy hiệu bạc13 Huy hiệu đồng10 silver badges13 bronze badges

2

Bạn có thể sử dụng bối cảnh JS2Py để thực thi mã JS của mình và nhận đầu ra từ Document.Write với đối tượng tài liệu giả:

pip install js2py
7

Đã trả lời ngày 16 tháng 9 năm 2018 lúc 23:46Sep 16, 2018 at 23:46

MirkomirkoMirko

1.9622 Huy hiệu vàng18 Huy hiệu bạc16 Huy hiệu đồng2 gold badges18 silver badges16 bronze badges

Bạn có thể sử dụng Yêu cầu-HTML sẽ tải xuống và sử dụng Chromium bên dưới.

pip install js2py
8

Thêm về điều này đọc ở đây

Đã trả lời ngày 8 tháng 4 năm 2020 lúc 15:19Apr 8, 2020 at 15:19

Hướng dẫn can i do javascript in python? - tôi có thể làm javascript trong python không?

LevonlevonLevon

9.3704 Huy hiệu vàng44 Huy hiệu bạc41 Huy hiệu đồng4 gold badges44 silver badges41 bronze badges

QuickJS nên là lựa chọn tốt nhất sau khi QuickJS ra mắt. Chỉ cần

print('Hello World!')
2 và bạn đã sẵn sàng để đi.

Sửa đổi dựa trên ví dụ về readme.

pip install js2py
9

https://github.com/PetterS/quickjs

Đã trả lời ngày 31 tháng 10 năm 2019 lúc 6:13Oct 31, 2019 at 6:13

Echoechoecho

2.3481 Huy hiệu vàng21 Huy hiệu bạc16 Huy hiệu đồng1 gold badge21 silver badges16 bronze badges

Thực sự muộn cho bữa tiệc nhưng bạn có thể sử dụng một người kế thừa PYV8 thường được duy trì bởi một tổ chức có uy tín (chủ quan) có tên là CloudFlare. Đây là URL kho lưu trữ:

https://github.com/cloudflare/stpyv8

Đã trả lời ngày 13 tháng 7 lúc 16:01Jul 13 at 16:01

Hướng dẫn can i do javascript in python? - tôi có thể làm javascript trong python không?

Cstayyabcstayyabcstayyab

2782 Huy hiệu bạc19 Huy hiệu đồng2 silver badges19 bronze badges

Bạn có thể sử dụng Python như JavaScript không?

Tập hợp con "dựa trên đối tượng" của Python gần tương đương với JavaScript. Giống như JavaScript (và không giống như Java), Python hỗ trợ phong cách lập trình sử dụng các hàm và biến đơn giản mà không tham gia vào các định nghĩa của lớp. Tuy nhiên, đối với JavaScript, đó là tất cả.. Like JavaScript (and unlike Java), Python supports a programming style that uses simple functions and variables without engaging in class definitions. However, for JavaScript, that's all there is.

JavaScript có khó hơn Python không?

Nếu bạn đang quyết định ngôn ngữ lập trình nào để học trước, bạn nên biết rằng JavaScript là ngôn ngữ khó học hơn nhiều so với Python.Cả hai ngôn ngữ đều là loại động, làn đường lập trình cấp cao khá giống nhau.JavaScript is a much more difficult language to learn than Python. Both languages are dynamically types, high level programming lanuages that are pretty similiar.

Làm thế nào để bạn chạy một chức năng JavaScript trong Python?

Chúng ta có thể thực hiện chức năng JavaScript trong Python với Selenium WebDriver.DOM tương tác với các yếu tố thông qua JavaScript.Selenium có khả năng thực thi các lệnh JavaScript bằng phương thức EXECE_SCRIPT.Rất ít hành động như cuộn web không thể được thực hiện trực tiếp bởi Selenium.Selenium webdriver. DOM interacts with the elements via JavaScript. Selenium is capable of executing JavaScript commands with the execute_script method. Few actions like web scrolling cannot be done by Selenium directly.

Python có thể làm mọi thứ JavaScript có thể không?

Sự khác biệt giữa ngôn ngữ Python và JavaScript là tối thiểu.Bạn có thể làm hầu hết mọi thứ với cả ngôn ngữ Python và JavaScript vì chúng chia sẻ những điều phổ biến như lập trình từ vựng, hướng đối tượng, được giải thích, chức năng và bắt buộc.You can do almost everything with both Python and JavaScript languages as they share common things like lexically scoped, object-oriented, interpreted, functional and imperative programming.