This project meant to provide intuitive functions to use cheeriojs, without wasting time.
If you just want to make an automated program, for navigating to a website and click on buttons, fill forms etc... so you should only use os-puppeteer.
Else you want to analyze a DOM of a website more thoroughly, this is the library.
The cheerio helper works in hand with os-puppeteer. So you'll need to npm i it too.
Install via npm:
npm i os-puppeteer-helper
npm i os-cheerio-helper
Require ch and ph:
var ch = require("os-cheerio-helper")
var ph = require("os-puppeteer-helper")Create a browser:
let bt = await ph.createBrowser(url, slowMo = 5, headless = false, width = 1300, height = 768)
// save the page and the browser
let browser = bt[0];
let page = bt[1];Scrape the DOM:
let dom = await ch.getCheerioDom(page);Find an element by a selector:
let receiptContainerList = await ch.getElementFromDom(dom, "tbody[id='the-list'] tr");Get the first element from a list of elements:
let firstContainer = await ch.getElementAt(receiptContainerList, 0)Get text from element:
await ch.getTextFromElement(firstContainer) Get other attribute value from element:
await ch.getAttributeValueFromCheerioEle(firstContainer, "class") Tell the Puppeteer Helper to click on this element:
await ph.click(page, ch.getUniqueSelector(firstContainer));Find an element from the DOM, carrying a specific text:
let divWithTxt = await ch.getElementByText(dom, "Hello World!") Will wait for an element to change it's value (div with a "popup" class to change it's style from display="inline" to display="none" ):
await ch.waitForSelectorToChangeAttValue(page, selector="div.popup", att="style", val="display: none;", checkEach=2000)Will loop on a 'select' element children ('option' tags) and look for a given text.
Optionally: if the text exists, will select it.
NOTICE: if you want to select the option, you need to supply a puppeteer helper instance, a page instance, and toggle the selectIfExists to true:
let selected = await ch.isSelectHasValue(selectElement, "black", true, ph, page);And a lot more!
npm os-puppeteer-helper
npm os-cheerio-helper
ISC