Saya lagi coba jual-beli saham untuk jangka pendek. Berhubung target portofolio saya cukup banyak, jadi saya bikin script autoclick untuk web Bibit.id.
Script ini membuka halaman produk, mengambil harga terkini, kembali ke menu sebelumnya, kemudian lanjut membuka halaman produk lain sampai selesai.
(Script dijalankan di menu console DevTools)
js |
---|
(async function() {
let items = [
'Grow Saham Indonesia Plus Kelas O',
'Grow SRI KEHATI Kelas O',
'BNP Paribas SRI KEHATI',
'TRIM Kapital Plus',
'Trimegah FTSE Indonesia Low Volatility Factor Index',
'Sucorinvest Equity Fund',
]
let prices = [];
let wait = (function() {
let SELF = {
Until,
};
function Until(stateCheckCallback, delay=100, timeout=null) {
let useTimeout = timeout !== null;
delay = delay ?? 100;
return new Promise((resolve, reject) => {
let interval = window.setInterval(() => {
let shouldResolve = stateCheckCallback();
timeout -= delay;
if (shouldResolve) {
window.clearInterval(interval);
resolve();
} else if (useTimeout && timeout <= 0) {
window.clearInterval(interval);
reject();
}
}, delay);
});
}
return SELF;
})();
while (items.length > 0) {
let title = items.pop();
let titleEl = null;
let priceTag = null;
await wait.Until(() => {
titleEl = Array.from(document.querySelectorAll('.top-title')).find(x => x.firstChild.textContent.trim() == title);
return titleEl;
})
titleEl.click();
await wait.Until(() => {
priceTag = Array.from(document.querySelectorAll('[direction="column"]')).find(x => x.childElementCount == 3 && x.childNodes[1].textContent.includes('Rp'))?.childNodes[1]?.textContent;
return priceTag;
})
prices.push({title, priceTag})
document.querySelector('.bit-uikit-topbar-backbutton').click()
}
console.log(prices)
})(); |
Mau Coba?
Kalian perlu sesuaikan data berikut dengan nama produk yang kalian incar. Penulisannya harus sama persis seperti yang tampil di aplikasi Bibit.
js |
---|
let items = [ 'Grow Saham Indonesia Plus Kelas O', 'Grow SRI KEHATI Kelas O', 'BNP Paribas SRI KEHATI', 'TRIM Kapital Plus', 'Trimegah FTSE Indonesia Low Volatility Factor Index', 'Sucorinvest Equity Fund', ]; |
Selanjutnya, run script di halaman reksa dana saham dan tunggu sampai selesai. Nanti hasil yang didapatkan adalah daftar nama dan harga terkini produk.
Berikut contoh output di console :
js |
---|
[ { "title": "Sucorinvest Equity Fund", "priceTag": "Rp2,555.0100" }, { "title": "Trimegah FTSE Indonesia Low Volatility Factor Index", "priceTag": "Rp1,246.3623" }, { "title": "TRIM Kapital Plus", "priceTag": "Rp4,257.4100" }, { "title": "BNP Paribas SRI KEHATI", "priceTag": "Rp1,112.8300" }, { "title": "Grow SRI KEHATI Kelas O", "priceTag": "Rp1,080.8400" }, { "title": "Grow Saham Indonesia Plus Kelas O", "priceTag": "Rp1,043.6900" } ] |
Komentar
Posting Komentar