您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show the price per square meter in the search results of ciencuadras.com
// ==UserScript== // @name ciencuadras.com price per square meter // @namespace https://github.com/healarconr // @version 0.1 // @description Show the price per square meter in the search results of ciencuadras.com // @author Hernán Alarcón // @match https://www.ciencuadras.com/* // @grant none // ==/UserScript== (function() { 'use strict'; function calculatePricePerSquareMeter() { calculatePricePerSquareMeterInSearchResults(); } function calculatePricePerSquareMeterInSearchResults() { const properties = document.querySelectorAll('.inmuebles-results > app-card'); for (const property of properties) { try { let pricePerSquareMeterElement = property.querySelector('p.pricePerSquareMeter'); if (pricePerSquareMeterElement) { pricePerSquareMeterElement.remove(); } const priceNode = property.querySelector('h3'); const price = findPrice(priceNode.textContent); const area = findArea(property.querySelector('li:nth-child(3)').textContent) const pricePerSquareMeter = (price / area).toLocaleString('es-CO', {style:'currency', currency: 'COP'}) + '/m\u00B2'; pricePerSquareMeterElement = document.createElement('p'); pricePerSquareMeterElement.className = 'pricePerSquareMeter'; pricePerSquareMeterElement.style.fontSize = 'smaller'; pricePerSquareMeterElement.style.fontWeight = 'normal'; pricePerSquareMeterElement.appendChild(document.createTextNode(pricePerSquareMeter)); priceNode.parentNode.insertBefore(pricePerSquareMeterElement, priceNode.nextSibling); } catch (e) { // Do nothing } } } function findPrice(value) { return parseFloat(value.match(/[\d.,]+/)[0].replace(/\./g, '')); } function findArea(value) { return parseFloat(value.match(/[\d.]+/)[0]); } const propertiesContainer = document.querySelector('.inmuebles-results'); if (propertiesContainer) { setInterval(calculatePricePerSquareMeterInSearchResults, 1000); new MutationObserver(calculatePricePerSquareMeter).observe(propertiesContainer, {childList: true}); } calculatePricePerSquareMeter(); setTimeout(calculatePricePerSquareMeter, 2000); })();