Làm cách nào để gọi hàm JavaScript trong python?

Chúng ta có thể thực thi một hàm JavaScript trong Python với Selenium webdriver. DOM tương tác với các phần tử thông qua JavaScript. Selenium có khả năng thực thi các lệnh JavaScript với phương thức exec_script

Một số hành động như cuộn web không thể được thực hiện trực tiếp bởi Selenium. Đối với điều này, chúng ta sẽ sử dụng JavaScript Executor. Chúng ta sẽ nhờ sự trợ giúp của cửa sổ lệnh JavaScript. scrollTo và chuyển nó vào phương thức exec_script. Để cuộn xuống cuối trang, chúng ta phải vượt qua 0 và tài liệu. cơ thể người. scrollHeight làm tham số cho cửa sổ. cuộn tới

cú pháp

driver.execute_script["window.scrollTo[0,document.body.scrollHeight];"]

Thí dụ

from selenium import webdriver
driver = webdriver.Firefox[executable_path="C:\geckodriver.exe"]
driver.implicitly_wait[0.5]
driver.get["//www.tutorialspoint.com/index.htm"]
#scroll till page bottom
driver.execute_script["window.scrollTo[0,document.body.scrollHeight];]

Chúng tôi cũng có thể thực hiện hành động trên web như nhấp vào liên kết bằng JavaScript. Ở đây, chúng ta cũng sẽ sử dụng phương thức exec_script và truyền các đối số với chỉ mục và phần tử làm tham số cho phương thức đó

Python là ngôn ngữ lập trình đa nền tảng có thể được sử dụng trên PC, Mac và máy tính chạy Linux. Nó cũng được sử dụng trên. NET và trong Java. Python đơn giản để viết mã và đọc, làm cho nó trở thành một lựa chọn hấp dẫn để viết các tập lệnh và ứng dụng. JavaScript là ngôn ngữ lập trình được sử dụng để tạo các trang Web tương tác bằng cách tương tác với mã HTML. Bạn có thể sử dụng tập lệnh Python của mình để gọi một trang Web dựa trên JavaScript

Bước 1

Mở chương trình Python mà bạn muốn gọi hàm JavaScript từ đó

Bước 2

Cuộn đến vị trí trong tài liệu mà bạn muốn thêm tập lệnh

Bước 3

Loại

"in ''"

Người giới thiệu

  • con trăn. Nhà
  • webopedia. JavaScript

tiểu sử nhà văn

Hollan Johnson là một nhà văn tự do và biên tập viên đóng góp cho nhiều ấn phẩm trực tuyến. Cô ấy đã viết lách chuyên nghiệp từ năm 2008 và sở thích của cô ấy là du lịch, làm vườn, may vá và máy tính Mac. Trước khi viết lách tự do, Johnson đã dạy tiếng Anh ở Nhật Bản. Cô có bằng Cử nhân Ngôn ngữ học tại Đại học Las Vegas, Nevada

Để tự động hóa mọi hoạt động dựa trên trình duyệt bằng Python, bạn cần chạy JavaScript từ chương trình python

Bạn có thể chạy javascript từ python bằng js2py. mã eval_js[“jscode”]

Trong hướng dẫn này, bạn sẽ tìm hiểu các phương pháp khác nhau để chạy JavaScript từ Python

Bạn cần cài đặt các gói

25
2 hoặc
25
3 để chạy chương trình JavaScript từ Python. Đọc chi tiết bài hướng dẫn để hiểu các bước cài đặt

Nếu bạn vội vàng

Đoạn mã sau cho biết cách chạy JavaScript từ Python. Hàm JavaScript được định nghĩa là

25
4 trong một biến python. Sau đó, phương thức
25
5 được gọi để chạy hàm JavaScript

Đoạn trích

import js2py

squareofNum = "function f[x] {return x*x;}"

result = js2py.eval_js[squareofNum]

print[result[5]]

đầu ra

25

Nếu bạn muốn hiểu chi tiết, hãy đọc tiếp…

Không có chức năng sẵn có nào trong Python để thực thi chức năng JavaScript. Do đó, bạn cần cài đặt các thư viện

25
2 hoặc
25
3 để thực thi JavaScript từ Python

Mục lục

Sử dụng js2py

js2py là gói python được sử dụng để dịch mã JavaScript thành mã python. Nó được viết hoàn toàn bằng Python. Nó hỗ trợ JavaScript cơ bản

Gói này không chế giễu bất kỳ tác nhân người dùng nào. Do đó, bạn sẽ không thể sử dụng các khả năng của trình duyệt

Cài đặt gói

25
2 bằng mã bên dưới

Để cài đặt gói trong Jupyter, bạn có thể đặt trước ký hiệu

25
9 trong từ khóa pip

Cài đặt js2py

pip install js2py

Gói hiện đã được cài đặt

Bây giờ, bạn sẽ học cách sử dụng gói này để thực thi các hàm JavaScript

Tạo một hàm JavaScript sẽ bình phương số đã truyền và trả về phương thức gọi. Sau đó gọi phương thức

25
5 để thực thi chức năng bên dưới

Mã số

import js2py

squareofNum = "function f[x] {return x*x;}"

result = js2py.eval_js[squareofNum]

print[result[5]]

đầu ra

25

Đây là cách bạn có thể thực thi mã JavaScript cơ bản từ Python

Sử dụng yêu cầu-html

Gói request-html hỗ trợ phân tích cú pháp mã HTML. Nó cũng chế nhạo một tác nhân người dùng. Do đó, bạn có thể sử dụng gói này để thực thi các chức năng JavaScript cần khả năng của trình duyệt

Ví dụ: khi bạn đang tự động hóa các chức năng bằng Selenium và trong quá trình tự động hóa, bạn có thể cần lấy URL hiện tại trong Javascript để xác định trang nào hiện đang được tải trong chương trình. Trong trường hợp này, bạn có thể sử dụng gói HTML yêu cầu để thực thi chương trình JavaScript có thể xác định URL hiện tại

Cài đặt gói

25
3 bằng câu lệnh bên dưới

Cài đặt request-html

pip install requests-html

Gói request-html đã được cài đặt

Bây giờ, bạn sẽ học cách sử dụng gói

25
3 để thực thi gói JavaScript

Đầu tiên, tạo đối tượng

pip install js2py
3 bằng cách khởi tạo nó với hàm tạo
pip install js2py
4 như hình bên dưới

Tạo một JavaScript trong một biến có tên là

pip install js2py
5 bằng cách đặt nó trong khối “””. Ba chuỗi “”” được sử dụng để tạo chuỗi nhiều dòng trong Python

Sau đó, kết xuất HTML bằng phương pháp

pip install js2py
6. Bạn có thể chuyển
pip install js2py
7 cho phương thức kết xuất

Phương thức

pip install js2py
8 sẽ hiển thị mã HTML và thực thi mã JavaScript với tác nhân người dùng giả như firefox

Mã số

from requests_html import HTML

html = HTML[html=""]

scrpt = """
function getURL[]{
  return window.location.href;
}
"""

output = html.render[script=scrpt, reload=False]
print[output]

Bạn sẽ thấy URL hiện tại được in trong bảng điều khiển

Chạy tệp Javascript từ Python

Trong một số trường hợp, bạn cần lưu trữ mã JavaScript trong một tệp và thực thi tệp script đó từ python

Tạo tệp JavaScript với mã JavaScript cần thiết

Tệp JS

pip install js2py
9

function sayHello[Name] { 
    return "Hello, "+Name+"!";
}

Lưu mã JavaScript ở cùng vị trí với python. Nếu bạn đang lưu trữ nó ở một vị trí khác, thì bạn cần sử dụng vị trí thích hợp trong khi thực thi đoạn mã dưới đây

Phương thức run_file[] được sử dụng để chạy tệp JavaScript từ Python

Truyền tên tệp JavaScript cho phương thức

import js2py

squareofNum = "function f[x] {return x*x;}"

result = js2py.eval_js[squareofNum]

print[result[5]]
0. Nó sẽ trả về một bộ chứa các đối tượng python tương đương với hàm JavaScript

Sử dụng các đối tượng này, bạn có thể gọi hàm như hình bên dưới

import js2py

squareofNum = "function f[x] {return x*x;}"

result = js2py.eval_js[squareofNum]

print[result[5]]
1 là một hàm được xác định trong tệp JavaScript. Bạn có thể gọi hàm đó bằng cách sử dụng đối tượng
import js2py

squareofNum = "function f[x] {return x*x;}"

result = js2py.eval_js[squareofNum]

print[result[5]]
2

Mã để thực thi tệp Javascript

import js2py

result, tempfile = js2py.run_file["hello.js"];

result= tempfile.sayHello["Stack Vidhya Reader"];

print[result];

Đây là cách bạn có thể thực thi tệp JavaScript từ python

Chạy chức năng Javascript từ Python

Để chạy một hàm JavaScript từ python, hãy tạo một hàm và gán nó vào một biến. Sau đó gọi hàm đó bằng phương thức

25
5

Mã số

import js2py

squareofNum = "function f[x] {return x*x;}"

result = js2py.eval_js[squareofNum]

print[result[5]]

Jupyter Chạy Javascript từ Python

Bạn có thể sử dụng đoạn mã dưới đây để chạy hàm JavaScript từ Python

Mã số

import js2py

squareofNum = "function f[x] {return x*x;}"

result = js2py.eval_js[squareofNum]

print[result[5]]

Khi làm việc với Jupyter, bạn chỉ có thể thực thi các chức năng JavaScript cơ bản không yêu cầu bất kỳ tác nhân người dùng nào

Nếu bạn thực thi tập lệnh bằng cách sử dụng

25
3 trong jupyter, bạn sẽ thấy lỗi thời gian chạy bên dưới. Sử dụng trình chỉnh sửa vscode hoặc Pycharm để thực thi các chương trình đó

25
1

Phần kết luận

Trong hướng dẫn này, bạn đã học cách chạy JavaScript từ python

Cũng đã học cách thực thi tệp JavaScript và chức năng javascript yêu cầu tác nhân người dùng từ Python

Python có thể tương tác với JavaScript không?

Đó là cầu nối hai chiều cho phép bạn sử dụng mã JavaScript từ Python và ngược lại . Điều đó có nghĩa là mã Python có thể gọi các cuộc gọi lại JS và mã JS có thể gọi các cuộc gọi lại Python.

Làm cách nào để gọi hàm nút js từ Python?

Chương trình. gọi một hàm trong Python bằng Node. .
Mã Python- nhập sys def sum[firstVar,secondVar]. trả về firstVar + secondVar print[sum[sys. argv[1],sys. argv[2]]] sys. tiêu chuẩn. tuôn ra[].
Nút. Mã js- var app = require["express"][]; . .
child_ process là một gói nút

Chủ Đề