dalasweb
Well-Known Member
Здравей!Принципно би могло да се прочете съдържанието на която и да е страница като стринг и след това да се действа подобно на решението на @hristonev. Но в случая ако решим да заредим директно линка, то няма телефонни номера, трябва преди това да сме цъкнали на някой план в браузъра, сигурно се сетват разни куки... кой знае. Любимото ми в такива случаи е Chrome Extension. Даже драснах такъв да се поупражнявам.
Значи по принцип тия разширения са уебаджийски файлове (html, css, js и други) пакетирани в .zip. Но в Chrome можеш да заредиш такова нещо от папка. Ето ти кода на файловете:
manifest.json
JSON:{ "name": "Simplytel Phones Reader", "version": "0.1", "manifest_version": 3, "action": { "default_popup": "popup.html", "default_title": "Click to get phone numbers" }, "permissions": [ "activeTab", "scripting" ] }
popup.html
HTML:<!DOCTYPE html> <html lang="en"> <head> <script src="popup.js"></script> </head> <body> <textarea id="phone-numbers" cols="18" rows="50"></textarea> </body> </html>
popup.js
JavaScript:function readPhoneNumbers() { const selector = '#WunschrufnummerBox > div > label' const elements = document.querySelectorAll(selector) let phoneNumbers = [] elements.forEach((element) => { phoneNumbers.push(element.innerText) }) return phoneNumbers } async function getCurrentTab() { const queryOptions = { active: true, lastFocusedWindow: true } // `tab` will either be a `tabs.Tab` instance or `undefined`. const [tab] = await chrome.tabs.query(queryOptions) return tab } async function executeFunctionOnTab(pageTab, fn) { const injectionResult = await chrome.scripting.executeScript({ target: { tabId: pageTab.id }, function: fn }) return injectionResult?.[0].result } async function start() { const currentTab = await getCurrentTab() const phoneNumbers = await executeFunctionOnTab(currentTab, readPhoneNumbers) document.getElementById('phone-numbers').value = phoneNumbers.sort().join('\n') } document.addEventListener('DOMContentLoaded', async function () { await start() })
Слагаш тия 3 файла в една папка, после отиваш в More Tools -> Extensions на Chrome, там има бутон Load unpacked, и съответно намираш папката. В разширенията трябва да ти се появи нещо такова:
Виж файлът 26342
После се връщаш в сайта и от дясно на адрес бара си пинваш разширението за да стои като бутонче. Това трябва да го знаеш как става, но за всеки случай - от тия иконки...
Виж файлът 26343
... дясната дето е като пъзел, намираш разширението (Simplytel Phones Reader), пинваш го и то се появява като лявата безлична сива иконка S.
Сега когато си на сайта с номрата само я цъкаш и те се появяват сортирани така:
Виж файлът 26344
И вече ако разбираш от JavaScript можеш да си манипулираш номерата както там решиш
Дрилиша махнаха избора на телефонен номер, но конгастар все още го предлагат.
Твоя код не става за техния вариант с попъп.Или се лъжа?
натискаш Wunschrufnummer auswählen
важни са златните тел. номера