Khi tải một trang web, javascripts được thực thi để cung cấp thông tin. Tôi muốn "tải" một trang (bao gồm cả việc thực thi javascripts), nhưng thay vì nhận đầu ra html sau đó, tôi muốn nhận đầu ra của một trong các javascripts đã thực thi. Tôi có đường dẫn đến trang web và tập lệnh.
Điều này hoàn toàn giống với việc truy cập google, tải một trang trong khi mở dev-tools->console và xem javascript và đó là đầu ra json. Tôi có url của trang web (ví dụ: https://example.com) và url tới javascript mà tôi muốn xuất ra (ví dụ: https://example.com/script.js).
Nếu có thể, tôi muốn tích hợp ngay jq để lấy giá trị mong muốn trong đầu ra json đó làm đầu ra của tập lệnh (vì vậy đầu ra của tập lệnh chỉ nên là giá trị "thô" của khóa trong đầu ra json của tập lệnh đó javascript).
Và tôi thích nó được thực hiện bằng PhantomJS hơn, tuy nhiên tôi sẵn sàng cho những thứ khác.
- Tôi cần cung cấp url thông qua một đối số. Bên trong tập lệnh phantomjs, url sẽ là
$1
và url tập lệnh $1/script.js
, để nói nó bằng ngôn ngữ bash.
- "Đường dẫn" jq (còn gọi là .path.to.key) có thể được đặt trong tập lệnh, do đó không cần phải cung cấp thông qua đối số.
- Tôi cần lấy đầu ra trong một biến của tập lệnh bash.
Vậy ba điểm cộng lại sẽ là value=$(phantomjs test.js https://example.com)
Hy vọng bạn có thể giúp tôi. Cảm ơn!