Hướng dẫn does jsoup run javascript? - jsoup có chạy javascript không?
Một khối trên trang chứa đầy nội dung của JavaScript và sau khi tải trang với JSoup, không có gì trong số đó. Có cách nào để có được nội dung được tạo JavaScript khi phân tích cú pháp trang với 1 không?Không thể dán mã trang ở đây, vì nó quá dài: http://pastebin.com/qw4rfqgw Đây là yếu tố mà nội dung tôi cần: 2Tôi cần có được thông tin này trong Java. Tốt hơn là sử dụng jsoup. Phần tử là trường với sự trợ giúp của JavaScript:
Mã Java:
Hỏi ngày 20 tháng 9 năm 2011 lúc 17:01Sep 20, 2011 at 17:01
0 JSOUP là một trình phân tích cú pháp HTML, không phải là một loại động cơ trình duyệt nhúng. Điều này có nghĩa là nó hoàn toàn không biết về bất kỳ nội dung nào được JavaScript thêm vào DOM sau khi tải trang ban đầu.HTML parser, not some kind of embedded browser engine. This means that it's completely unaware of any content that is added to the DOM by Javascript after the initial page load. Để có quyền truy cập vào loại nội dung đó, bạn sẽ cần một thành phần trình duyệt nhúng, có một số cuộc thảo luận về loại thành phần đó, ví dụ: có cách nào để nhúng trình duyệt vào Java không?
Đã trả lời ngày 20 tháng 9 năm 2011 lúc 17:42Sep 20, 2011 at 17:42
fvufvufvu 32.1k6 Huy hiệu vàng60 Huy hiệu bạc79 Huy hiệu đồng6 gold badges60 silver badges79 bronze badges 1 Đã giải quyết trong trường hợp của tôi với com.codeborne.phantomjsdriver Lưu ý: Đó là mã Groovy. pom.xml
PhantomJsUtils.groovy
ClassInProject.groovy
Đã trả lời ngày 7 tháng 9 năm 2016 lúc 12:12Sep 7, 2016 at 12:12
Iluiluilu 1961 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badges 3 Bạn cần hiểu những gì đang xảy ra:
Cách để hiểu điều này là như sau: Mã phân tích cú pháp HTML rất dễ dàng. Việc thực hiện mã JavaScript và cập nhật mã HTML tương ứng phức tạp hơn rất nhiều và là công việc của trình duyệt. Dưới đây là một số giải pháp cho loại vấn đề này:
Đã trả lời ngày 19 tháng 8 năm 2016 lúc 21:50Aug 19, 2016 at 21:50
Vic Seedoungleyewvic SeedoubleyewVic Seedoubleyew 10,2K6 Huy hiệu vàng 50 Huy hiệu bạc71 Huy hiệu Đồng6 gold badges50 silver badges71 bronze badges Bạn có thể sử dụng kết hợp JSOUP và HTMLUNIT để có được nội dung trang sau khi các tập lệnh JavaScript được tải hoàn thành. pom.xml
Ví dụ đơn giản từ tệp https://riptutorial.com/jsoup/example/16274/parsing-javascript-generated-page-with-jsoup-and-htmunit From file https://riptutorial.com/jsoup/example/16274/parsing-javascript-generated-page-with-jsoup-and-htmunit
Một ví dụ phức tạp: Tải đăng nhập, nhận phiên và CSRF, sau đó đăng và đợi trang chủ để hoàn thành tải (15 giây) Load login, get Session and CSRF, then post and wait for home page to finish loading (15 seconds)
Đã trả lời ngày 30 tháng 4 năm 2020 lúc 19:53Apr 30, 2020 at 19:53
SullysullySully 14.4K5 Huy hiệu vàng52 Huy hiệu bạc77 Huy hiệu đồng5 gold badges52 silver badges77 bronze badges 0 Tôi thực tế có một "cách"! Có thể đó là "một cách giải quyết" hơn là "cách ... mã bên dưới kiểm tra cả hai cho thuộc tính meta" Làm mới "và JavaScript chuyển hướng ... nếu một trong số đó tồn tại 3 biến được đặt. Vì vậy, bạn biết mục tiêu của bạn ... Sau đó, bạn có thể truy xuất trang đích và tiếp tục ...
Đã trả lời ngày 23 tháng 11 năm 2013 lúc 10:18Nov 23, 2013 at 10:18
Salihcenapsalihcenapsalihcenap 1.90222 Huy hiệu bạc25 Huy hiệu đồng22 silver badges25 bronze badges Đã trả lời ngày 6 tháng 12 năm 2018 lúc 14:27Dec 6, 2018 at 14:27
emonemonemon 1.4291 Huy hiệu vàng16 Huy hiệu bạc17 Huy hiệu đồng1 gold badge16 silver badges17 bronze badges
Tôi sẽ đoán không, nghĩ về việc điều này sẽ khó khăn như thế nào, nếu không xây dựng toàn bộ thông dịch viên JavaScript trong Java.
Đã trả lời ngày 20 tháng 9 năm 2011 lúc 17:43Sep 20, 2011 at 17:43
JamesjamesJames Huy hiệu vàng 20k2 Huy hiệu bạc40 Huy hiệu đồng2 gold badges24 silver badges40 bronze badges 2 Có thể bằng cách kết hợp 4 với một khung khác để giải thích trang web, trong ví dụ của tôi ở đây tôi đang sử dụng 5.
Đã trả lời ngày 16 tháng 1 năm 2020 lúc 9:23Jan 16, 2020 at 9:23
resresres 7658 Huy hiệu bạc16 Huy hiệu Đồng8 silver badges16 bronze badges Try:
0
Tiger-222 6.3463 huy hiệu vàng46 Huy hiệu bạc59 Huy hiệu đồng3 gold badges46 silver badges59 bronze badges
Đã trả lời ngày 2 tháng 7 năm 2017 lúc 13:27Jul 2, 2017 at 13:27
0 |