Advertisement
jraavis

Jio Recharges Scraper - 1

Apr 14th, 2025 (edited)
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. document.addEventListener("click", function() {
  2.   // Cleanup existing elements
  3.   document.querySelectorAll('[class^="PlanName_planText__"] div span').forEach((e) => e.remove());
  4.  
  5.   // Select all plan cards
  6.   const planCards = document.querySelectorAll('.Details_planCardBody__2J7AF');
  7.   const plans = [];
  8.  
  9.   // Collect plan data
  10.   planCards.forEach((planContainer) => {
  11.     const priceElement = planContainer.querySelector('.PlanName_planText__3e7m1 div');
  12.     const validityElement = planContainer.querySelector('.ValidityCol_gridItem__2kXe3 div.j-text.j-text-body-xxs-bold span');
  13.    
  14.     const price = parseInt(priceElement.textContent.trim(), 10);
  15.     const validityDays = parseInt(validityElement.textContent.trim().split(' ')[0], 10);
  16.     const pricePerDay = price / validityDays;
  17.  
  18.     plans.push({
  19.       price,
  20.       validityDays,
  21.       pricePerDay,
  22.       element: planContainer.cloneNode(true) // Clone original element
  23.     });
  24.   });
  25.  
  26.   // Sort plans by pricePerDay (ascending)
  27.   plans.sort((a, b) => a.pricePerDay - b.pricePerDay);
  28.  
  29.   // Create results container
  30.   const resultsContainer = document.createElement('div');
  31.   resultsContainer.style.marginTop = '20px';
  32.   resultsContainer.innerHTML = '';
  33.   resultsContainer.style.width = '100%';
  34.  
  35.   // Create sorted list
  36.   const listContainer = document.createElement('div');
  37.   plans.forEach(plan => {
  38.     const planItem = document.createElement('div');
  39.     planItem.style.padding = '10px';
  40.     planItem.style.borderBottom = '1px solid #eee';
  41.     planItem.style.width = '400px';
  42.     planItem.innerHTML = `
  43.       <div style="display: flex; justify-content: space-between;">
  44.         <div class="price">₹${plan.price} (${plan.validityDays} days)</div>
  45.         <div class="price-per-day">₹${plan.pricePerDay.toFixed(2)}/day</div>
  46.       </div>
  47.     `;
  48.     listContainer.appendChild(planItem);
  49.   });
  50.  
  51.   // Update headingCategory div
  52.   const headingDiv = document.querySelector('#headingCategory');
  53.   headingDiv.innerHTML = ''; // Clear previous content
  54.   resultsContainer.innerHTML = '';
  55.   resultsContainer.appendChild(listContainer);
  56.   headingDiv.appendChild(resultsContainer);
  57. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement