Hacked Together Elegantly

Here’s some code hacked together elegantly to help you awesome folk rip data from your trial lead list generators, $50K for annual licenses is a ripoff no matter what size org you are imho, and especially if you are not white. This will help you export bulk data, appropriately categorized into CSV -> Excel.

Have fun ☺️🚀❤️ - highly advise you use a TOR so the computer isn’t flagged.

If you have any questions dm me on twitter, discord, or slack, I’m not putting this up on GitHub, that’s Asiya’s world.


data = []

function wait(ms){
   var start = new Date().getTime();
   var end = start;
   while(end < start + ms) {
     end = new Date().getTime();
  }
}

function getContactName(row) {
    return row.getElementsByClassName('dotten-text-content')[0].textContent
}

function getCompanyName(row) {
    return row.getElementsByClassName('dotten-text-content')[1].textContent
}

function getCompanyIndustry(row) {
    return row.getElementsByClassName('dotten-text-content')[2].textContent
}

function hasChildWithString(elem, str) {
    return Array.from(elem.getElementsByClassName("text")).find(a => a.textContent === str) !== undefined
}

function getElem(row, str) {
    x = row.getElementsByClassName("wrapper")
    directPhoneSpanWrapper = Array.prototype.slice.call(x).find(a => hasChildWithString(a, str))
    if (directPhoneSpanWrapper !== null) {
        return directPhoneSpanWrapper.getElementsByClassName("copy_to_clipboard_icon")[0]
    }
}

async function getClipboardData(row, str) {
    try {
        elem = getElem(row, str)
        if (elem !== undefined) {
            await elem.click()
            return await window.navigator.clipboard.readText()
        }
    } catch { }
}

async function getData() {
    wait(3000)
    rows = document.getElementsByClassName('p-selectable-row')
    for (var i = 0; i < rows.length; i++) {
        name = getContactName(rows[i])
        directPhoneNumber = await getClipboardData(rows[i], "D")
        hqPhoneNumber = await getClipboardData(rows[i], "HQ")
        mobilePhoneNumber = await getClipboardData(rows[i], "M")
        businessEmail = await getClipboardData(rows[i], "B")
        supplementalEmail = await getClipboardData(rows[i], "S")
        companyName = getCompanyName(rows[i])
        industry = getCompanyIndustry(rows[i])

        data.push([name, directPhoneNumber, hqPhoneNumber, mobilePhoneNumber, businessEmail, companyName, industry])
    }
}

function exportToCSV() {
    let csvContent = "data:text/csv;charset=utf-8," 
        + data.map(e => e.join(",")).join("\n");
    var encodedUri = encodeURI(csvContent);
    window.open(encodedUri);
}

It’s from الله

Previous
Previous

Taqdeer Ki Avaaz

Next
Next

My Rose Garden Fragrant Forever