NickJS was great but it's over now 🙏 We recommend you use Puppeteer or Playwright instead
paps on master
0.3.8 (compare)
dependabot[bot] on npm_and_yarn
Bump extend from 3.0.1 to 3.0.2… (compare)
dependabot[bot] on npm_and_yarn
Bump stringstream from 0.0.5 to… (compare)
paps on master
Add deprecation notice in README fix puppeteer link fix deprecation notice in README and 2 more (compare)
stressGC on deprecation
remove doc broken link (compare)
stressGC on deprecation
fix deprecation notice in README (compare)
stressGC on deprecation
fix puppeteer link (compare)
stressGC on deprecation
Add deprecation notice in README (compare)
Hello @AbdesJSsetRequestInterception
is marked as experimental (and deprecated) on the Chrome DevTools Protocol, it recommended to use Fetch.enable
instead (https://chromedevtools.github.io/devtools-protocol/tot/Fetch#method-enable)
You can try to use the following example as a NickJS evaluate to send a POST request:
const sendXHR = (arg, cb) => {
const doXHR = ({ method, url, headers, data }) => {
return new Promise((resolve, reject) => {
let xhr = new XMLHttpRequest()
xhr.addEventListener("readystatechange", function() {
if (this.readyState === this.DONE) {
resolve(xhr.responseText)
}
})
xhr.onerror = function() {
reject({ status: this.status, statusText: xhr.statusText })
}
xhr.open(method, url)
if (headers) {
Object.keys(headers).forEach(el => xhr.setRequestHeader(el, headers[el]))
}
xhr.send(data)
})
}
cb(null, doXHR(arg))
}
Hello @PayFlic_ltd_twitter, you can use the following NickJS evaluate snippet to select a specific option by it’s value:
const selectOptionByContent = (arg, cb) => {
const optionValue = "XS"
let options = […document.querySelectorAll("select[name=\"size-dropdown\"] option")]
options = options.filter(el => el.textContent).filter(el => el.textContent.trim().toLowerCase() === optionValue.toLowerCase())
if (options.length < 1) {
return cb(`option ${optionValue} not found`)
}
const target = options[0]
target.selected = true
return cb(null, true)
}
If you already know the option value tag to target you can simply use in a NickJS evaluate: document.querySelector("select[name=\"size-dropdown\"] option=\"3924119\"").selected = true
hello all, I'm trying to run chrome without headless mode for debug on my MacOS, but i can not run it, the code return this error
CHROME STDERR: [1129/143352.575017:ERROR:chrome_main_delegate.cc(617)] Web security may only be disabled if '--user-data-dir' is also specified.
CHROME STDOUT: Opening in existing browser session.
Fatal: Chrome subprocess exited with code 0
and this is my config:
const nick = new Nick({
timeout: 60000,
headless: false,
debug: true,
});
can someone help me solve this issues?