class CapabilityScraper
def interactive_scraping_loop(docs_html, main_url, main_url_path, overview_key) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
def interactive_scraping_loop(docs_html, main_url, main_url_path, overview_key) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength loop do # rubocop:disable Metrics/BlockLength current_url = begin @browser_helper.current_url rescue StandardError 'N/A' end puts "\n--- OpenAI Subpage Scraping ---" puts "Current URL: #{current_url}" puts "Collected Keys: #{docs_html.keys.sort.join(', ')}" puts '---------------------------------' puts 'Ready to scrape current page. Options:' puts 's: Scrape current page' puts 'b: Back to overview' puts 'q: Quit scraping' choice = CliHelper.get_user_choice('Choose action', %w[s b q]) case choice when 's' scrape_current_page(docs_html, main_url_path, overview_key) when 'b' puts " Navigating back to overview: #{main_url}..." begin @browser_helper.goto(main_url) @browser_helper.wait_for_page_load rescue StandardError => e puts " Error navigating back: #{e.message}. Navigate manually." end when 'q' puts ' Finished OpenAI scraping.' break end end end