Last active
February 21, 2019 11:18
-
-
Save sleemanj/95035bf2c0141ac72420 to your computer and use it in GitHub Desktop.
Return the Quantity Search on Aliexpress
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Return the Quantity Search, Show Per Piece Pricing | |
// @namespace https://gist.github.com/sleemanj/95035bf2c0141ac72420 | |
// @updateURL https://gist.github.com/sleemanj/95035bf2c0141ac72420/raw/aliexpress-qty-search-fix.js | |
// @downloadURL https://gist.github.com/sleemanj/95035bf2c0141ac72420/raw/aliexpress-qty-search-fix.js | |
// @version 1.1 | |
// @description Put the quantity search fields back into the search interface on Aliexpress when they are not present and add a per-piece pricing when possible on the listing pages. | |
// @author James Sleeman | |
// @match *://*.aliexpress.com/* | |
// @exclude *://trade.aliexpress.com/orderList.htm* | |
// @grant GM_addStyle | |
// ==/UserScript== | |
(function(){ | |
if(document.getElementById('filter-quantity-c')) return; | |
if(!document.getElementById('filter')) return; | |
var d = document.createElement('div'); | |
d.innerHTML = '<div class="filter-quantity-c" data-widget-cid="widget-25" style="-webkit-user-select: text;">' + | |
'<span id="filter-quantity-c" style="-webkit-user-select: text;"><span class="ui-label">Quantity:</span>' + | |
' <input class="ui-textfield ui-textfield-system" value="" autocomplete="off" id="filter-quantity-from" name="minQuantity" tabindex="22" style="-webkit-user-select: text;"> ' + | |
' <span>-</span> ' + | |
' <input class="ui-textfield ui-textfield-system" value="" autocomplete="off" id="filter-quantity-to" name="maxQuantity" tabindex="23">' + | |
'<input type="submit" value="OK" />' + | |
' </span> ' + | |
'</div>'; | |
document.getElementById('filter').appendChild(d); | |
if(document.location.search.match(/minQuantity=([0-9]+)/)) | |
{ | |
document.getElementById('filter-quantity-from').value = RegExp.$1; | |
} | |
if(document.location.search.match(/maxQuantity=([0-9]+)/)) | |
{ | |
document.getElementById('filter-quantity-to').value = RegExp.$1; | |
} | |
// Display per piece price | |
var items = document.getElementsByClassName('list-item'); | |
console.log('Found ' + items.length + ' Items'); | |
for(var x = 0; x < items.length; x++) | |
{ | |
var PerLot = 1; | |
if(items[x].getElementsByClassName('min-order').length) | |
{ | |
PerLot = parseInt(items[x].getElementsByClassName('min-order')[0].innerHTML.replace(/ pieces.*lot/,'').replace(/\s/g,'')); | |
} | |
else if(items[x].getElementsByClassName('history-item product').length && items[x].getElementsByClassName('history-item product')[0].title.match(/([^0-9]|^)([0-9]+)\s*pcs/i)) | |
{ | |
PerLot = RegExp.$2; | |
} | |
if(PerLot > 1) | |
{ | |
var PriceLot = items[x].getElementsByClassName('price')[0].getElementsByClassName('value')[0].innerHTML.replace(/[^0-9.]/g, ''); | |
var ShippingPriceLot = 0; | |
if(items[x].getElementsByClassName('pnl-shipping').length) | |
{ | |
ShippingPriceLot = parseFloat(items[x].getElementsByClassName('pnl-shipping')[0].getElementsByClassName('value')[0].innerHTML.replace(/[^0-9.]/g, '')); | |
} | |
var NewSpan = document.createElement('div'); | |
NewSpan.style.fontWeight = 'bold'; | |
NewSpan.style.fontSize = 'larger'; | |
NewSpan.innerHTML = '( ' + ((parseFloat(PriceLot)+ShippingPriceLot)/parseInt(PerLot)).toFixed(3) + ' / Piece' + ( items[x].getElementsByClassName('min-order').length ? ' ' : '? ') + (ShippingPriceLot ? ' inc Shipping ':'') + ')'; | |
items[x].getElementsByClassName('price-m')[0].appendChild(NewSpan); | |
} | |
} | |
})(); |
Hey! I've got a project that returns a lot of the Search functionality back to AliExpress . It is a seperate site and I perform the search on our databases so that allows me to add more features. I have Quantity Search, Unit Price Display, and Shipping Type right now but I will be adding lots more 😃 , It's free to use!
Aliseeks - www.aliseeks.com
There is also an API which I can provide access to, just contact me for now if you want access.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello!
First, thanks for Your efforts! But, I don't know if I missed something during import or what happened, but Your script does nothing in my current setup - Tampermonkey reports that "No script is running", even though im browsing on aliexpress's search page... :( So, is this script outdated and its normal, or did i miss some settings instead of importing it with defaults?
Best regards,
Peter