Tôi đang sử dụng Ruby, Selenium WebDriver và Nokogiri để truy xuất dữ liệu từ các trang web. Khi HTML được tải đúng, tôi in nội dung của một lớp nhất định.Có thể sử dụng bot để mở trình duyệt, thao tác thủ công trang, sau đó tiếp tục sử dụng bot trên đó không?
Ví dụ,
require "selenium-webdriver"
require "nokogiri"
browser = Selenium::WebDriver.for :chrome
browser.get "https://jsfiddle.net"
doc = Nokogiri::HTML.parse(browser.page_source)
doc.css('.aiButton').map(&:text).join(',')
tôi đã tìm thấy cho đến nay phần khó nhất là nhận được HTML đúng nạp đúng cách. Ví dụ: nội dung tôi muốn có thể bị ẩn bởi một số javascript hoặc có thể nằm trên trang khác.
Có thể sử dụng Selenium để tải trang, sau đó thao tác thủ công trang để HTML hiển thị chính xác không và sau đó cho phép bot kết thúc và in nội dung mà nó được yêu cầu?
câu trả lời ngắn gọn là có. Selenium sẽ mở một trình duyệt trong GUI của bạn và nó sẽ vẫn mở cho đến khi kịch bản của bạn được thực hiện. –