Tôi đang mở một bộ URL có WebDriver bằng ruby - loại trình chiếu có khoảng thời gian 3 giây giữa "trang trình bày" (trang). Người đang xem điều đó xảy ra có thể nhấp vào Không gian và tôi cần URL trang đó được lưu vào một tệp khác. Làm thế nào tôi có thể xử lý những gián đoạn - bắt sự kiện của Space ép?ruby webdriver: làm thế nào để nắm bắt phím bấm trong khi kịch bản đang chạy?
require "watir-webdriver"
urls = [...list of URLs here...]
saved = []
b = Watir::Browser.new
urls.each do |url|
b.goto url
sleep(3)
# ...what should I put here to handle Space pressed?
if space_pressed
saved << b.url
end
end
Bạn sẽ đợi không gian ở đâu? Bạn có nghĩa là trong trình duyệt hoặc có thể dấu nhắc lệnh chạy kịch bản? –
@ justin-ko: hoặc sẽ làm việc cho tôi. Tôi đã thử giải pháp được cung cấp ở đây http://stackoverflow.com/questions/946738/detect-key-press-non-blocking-wo-getc-gets-in-ruby nhưng không thể bắt bất kỳ phím nào được nhấn trong trình duyệt (không có gì xảy ra) hoặc dòng lệnh (nó sẽ hiển thị các phím đã nhấn, nhưng không có tác dụng trên tập lệnh đang chạy). – earlyadopter