Tôi gặp sự cố khi tạo chức năng hợp lệ sẽ làm nổi bật một số yếu tố được xác định trên trang web. Xin lưu ý rằng tôi đang viết mã người mới bắt đầu và vấn đề có thể là vấn đề thiết lập môi trường đơn giản hoặc thiếu kiến thức chính về các tính năng javascript/selenium.Selenium-WebDriver cách đánh dấu phần tử bằng trình duyệt javascript và firefox
Tôi tạo tập lệnh của mình trong Eclipse Neon. Để thiết lập một môi trường tôi đã cài đặt node.js và geckodriver để có thể hoạt động trên trình duyệt firefox. Sự khởi đầu của kịch bản của tôi là:
var webdriver = require('selenium-webdriver'),
By = webdriver.By
var driver = new webdriver.Builder().forBrowser('firefox').build();
tôi mở trang web bằng cách sử dụng driver.get();
và sau đó tôi chỉ cần xác định vị trí phần tử bằng cách sử dụng xPath cũ .:
var element = driver.findElement(By.xpath("xPath goes here"));
Và bây giờ câu hỏi bắt đầu, những gì nên Tôi làm để làm cho WebDriver để làm nổi bật yếu tố này được chỉ định với cho ex. viền đỏ? Trong khi duyệt Stack và các trang tương tự khác, câu trả lời duy nhất tôi tìm thấy là một cái gì đó về việc sử dụng JavaScript Executor trong cú pháp Java, hoặc một số chức năng webdriver sử dụng
element.style.backgroundColor = 'red'
nhưng tôi nhận được giao diện điều khiển lỗi, mà style
hoặc một số phần khác của cú pháp không phải là một hàm. Tại thời điểm này, tôi ra khỏi các giải pháp làm thế nào để làm cho điều này xảy ra, và tôi từ từ nghi ngờ, rằng tôi sẽ có thể hoàn thành nhiệm vụ này mà không có kiến thức về html5/java. Có lẽ ai đã từng gặp khó khăn như vậy và sẽ chia sẻ đầu mối?
https://jsfiddle.net/osav574j/ < - Tôi đã chuẩn bị phiên bản đơn giản của tập lệnh có thể cung cấp cho bạn manh mối về cách mã đầy đủ của tôi trông như thế nào. Phần nổi bật có lẽ là sai, nó chỉ để cho bạn thấy, làm thế nào tôi nghĩ rằng nó có thể được thực hiện, nhưng đó là giả định tinh khiết.
Chúc mừng! Perkele
Hoạt động hoàn hảo! driver.executeScript(); là thứ tôi đang tìm kiếm. Cảm ơn bạn Saurabh! – Perkele