Hướng dẫn how run javascript using selenium in python? - làm thế nào để chạy javascript bằng cách sử dụng selen trong python?

Bạn có thể thực hiện JavaScript với Selenium WebDriver. Trong hướng dẫn này, bạn sẽ tìm hiểu làm thế nào bạn có thể chạy JS trực tiếp từ mã Python của bạn.

Bạn sử dụng selenium để thực hiện kiểm tra tự động các ứng dụng hoặc trang web web hoặc chỉ tự động hóa trình duyệt web. Nó có thể tự động hóa cả trình duyệt máy tính để bàn và trình duyệt di động.selenium webdriver có thể thực thi JavaScript. Sau khi tải một trang, bạn có thể thực hiện bất kỳ JavaScript nào bạn muốn. Một webdriver phải được cài đặt để selen hoạt động.
Selenium webdriver can execute Javascript. After loading a page, you can execute any javascript you want. A webdriver must be installed for selenium to work.

Tất cả những gì cần thiết để thực thi JavaScript là gọi phương thức

driver.execute_script["some javascript code here"];
3 trong đó JS là mã JavaScript của bạn.

Khóa học liên quan:

  • Khóa học & ví dụ tự động hóa web Selenium

JavaScript

JavaScript là gì?

JavaScript là một ngôn ngữ kịch bản được tạo ra để chạy trên đầu trang web [phía máy khách]. Nó đã từng chỉ tạo ra một tương tác trang web, nhưng ngày nay có những khung hoàn chỉnh cho phép bạn xây dựng mặt trước của các ứng dụng.

Làm thế nào để thực thi JavaScript?

Trước khi bạn có thể sử dụng selenium, hãy đảm bảo nó được cài đặt và bạn cũng có trình điều khiển web phù hợp. Bạn có thể khởi tạo selen theo cách bạn luôn làm.

Nếu bạn tải một trang web với Python selenium, bạn có thể tiêm JavaScript theo cách thủ công vào trang đó. Nếu bạn đặt tên cho Trình điều khiển đối tượng WebDriver của mình, thì bạn có thể thực hiện nó như vậy:

1
driver.execute_script["some javascript code here"];

Chương trình bên dưới chạy lệnh JavaScript một dòng sau khi tải trang. Điều này sẽ hiển thị hộp cảnh báo trong trang web.

1
2
3
4
5
6
7
from selenium import webdriver

driver=webdriver.Firefox[]
driver.implicitly_wait[3]
driver.get["//pythonbasics.org"]
js = 'alert["Hello World"]'
driver.execute_script[js]

Điều này có nghĩa là bạn cũng có thể sử dụng JavaScript bên trong Selenium để nhấp vào các mục, như trên một nút.

1
2
3
4
from selenium import webdriver
driver = webdriver.Firefox[]
driver.get["//stackoverflow.com/questions/7794087/running-javascript-in-selenium-using-python"]
driver.execute_script["document.getElementsByClassName['comment-user'][0].click[]"]

Để cuộn cửa sổ trình duyệt, bạn cũng có thể sử dụng JavaScript:

1
driver.execute_script["some javascript code here"];

Chương trình bên dưới chạy lệnh JavaScript một dòng sau khi tải trang. Điều này sẽ hiển thị hộp cảnh báo trong trang web.

1
2
3
4
5
6
7

from selenium import webdriver

driver=webdriver.Firefox[]
driver.implicitly_wait[3]
driver.get["//pythonbasics.org"]
js = 'alert["Hello World"]'
driver.execute_script[js]

Tôi hoàn toàn mới đối với Selenium. Tôi muốn thực thi đoạn trích JavaScript trong mã sau [như được nhận xét trong mã], nhưng không thể làm như vậy. Xin vui lòng giúp đỡ.

from selenium import webdriver
import selenium
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time

patch = raw_input["Enter patch number\n"]
rel = raw_input["Enter release\n"]
plat = raw_input["Enter port\n"]

browser = webdriver.Firefox[]

browser.get["xxxxxxxxxxxxxxxxx"]

pdtfamily = browser.find_element_by_id["prodFamilyID"]
pdtfamily.send_keys["Database & Tools" + Keys.TAB]
time.sleep[5]

pdt = browser.find_element_by_id["productID"]
pdt.send_keys["Intelligent Agent" + Keys.TAB]
time.sleep[5]

pdt1 = browser.find_element_by_id["patchCacheChkBxID"]
pdt1.send_keys[Keys.SPACE]
time.sleep[5]

pdt7 =  browser.find_element_by_id["M__Idf"]
pdt7.send_keys[plat]

pdt8 =  browser.find_element_by_id["M__Idg"]
pdt8.send_keys["American English"]

# Here I want to execute this javascript - "submitForm['patchCacheAdd',1,{'event':'ok'}];return false"

browser.close[]

Nếu tôi sử dụng -

selenium.GetEval["submitForm['patchCacheAdd',1,{'event':'ok'}];return false"]

nó lỗi như -

driver.execute_script["some javascript code here"];
0

hỏi ngày 17 tháng 10 năm 2011 lúc 12:58Oct 17, 2011 at 12:58

Theharshesttheharshesttheharshest

7.64710 Huy hiệu vàng39 Huy hiệu bạc51 Huy hiệu Đồng10 gold badges39 silver badges51 bronze badges

Hãy thử

driver.execute_script["some javascript code here"];
4 thay vì
driver.execute_script["some javascript code here"];
5.

Xem câu trả lời này chẳng hạn.

Đã trả lời ngày 17 tháng 10 năm 2011 lúc 13:09Oct 17, 2011 at 13:09

Petr Viktorinpetr ViktorinPetr Viktorin

64.1k9 Huy hiệu vàng81 Huy hiệu bạc81 Huy hiệu đồng9 gold badges81 silver badges81 bronze badges

0

Sử dụng

driver.execute_script["some javascript code here"];
6, đây là một ví dụ về Python:

driver.execute_script["some javascript code here"];
1

Đã trả lời ngày 26 tháng 3 năm 2015 lúc 8:23Mar 26, 2015 at 8:23

Pedro lobitopedro lobitoPedro Lobito

89.3k30 Huy hiệu vàng239 Huy hiệu bạc259 Huy hiệu Đồng30 gold badges239 silver badges259 bronze badges

1

Nếu bạn di chuyển từ iframes, bạn có thể bị lạc trong trang của mình, cách tốt nhất để thực hiện một số jQuery mà không gặp vấn đề gì [với selenimum/python/gecko]:

driver.execute_script["some javascript code here"];
2

Đã trả lời ngày 10 tháng 4 năm 2018 lúc 16:31Apr 10, 2018 at 16:31

Chúng ta có thể sử dụng JavaScript với Python không?

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.

Selenium có thể cạo javascript không?

Trình điều khiển trình duyệt Selenium thường được sử dụng để quét dữ liệu từ các trang web động sử dụng JavaScript [mặc dù nó cũng có thể quét dữ liệu từ các trang web tĩnh].Việc sử dụng JavaScript có thể thay đổi từ các sự kiện biểu mẫu đơn giản đến các ứng dụng một trang tải xuống tất cả nội dung của họ sau khi tải. [although it can scrape data from static websites too]. The use of JavaScript can vary from simple form events to single page apps that download all their content after loading.

Mã Selenium nào sau đây có thể thực thi trực tiếp JavaScript?

JavaScriptexecutor là một giao diện giúp thực hiện JavaScript thông qua selenium webdriver.JavaScriptexecutor cung cấp hai phương thức Execution Execscript và Exec ExecuteAsyncScript để chạy JavaScript trên cửa sổ đã chọn hoặc trang hiện tại.

Chủ Đề