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. Tất cả những gì cần thiết để thực thi JavaScript là gọi phương thức
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.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 | from selenium import webdriver |
Đ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 | from selenium import webdriver |
Để 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