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 đặtNế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ừ PythonMụ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 pipCà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ướiMã 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ướiCà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ướiTạ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 PythonSau đó, 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ấtPhươ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ư firefoxMã 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
9function 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 JavaScriptSử 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]]
2Mã để 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
5Mã 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
1Phầ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