How to filter the result of (page.$$eval)How do I debug Node.js applications?How do I get started with Node.jsHow do I pass command line arguments to a Node.js program?How to decide when to use Node.js?How to exit in Node.jsWhat is the purpose of Node.js module.exports and how do you use it?How can I update NodeJS and NPM to the next versions?How the single threaded non blocking IO model works in Node.jsHow do I update each dependency in package.json to the latest version?Setting Environment Variables for Node to retrieve
"Whatever a Russian does, they end up making the Kalashnikov gun"? Are there any similar proverbs in English?
How can Republicans who favour free markets, consistently express anger when they don't like the outcome of that choice?
Can SQL Server create collisions in system generated constraint names?
How does Captain America channel this power?
Checks user level and limit the data before saving it to mongoDB
Re-entry to Germany after vacation using blue card
Function pointer with named arguments?
What are the steps to solving this definite integral?
How to write a column outside the braces in a matrix?
Rivers without rain
Don’t seats that recline flat defeat the purpose of having seatbelts?
Overlay of two functions leaves gaps
Is the claim "Employers won't employ people with no 'social media presence'" realistic?
How to fry ground beef so it is well-browned
How to limit Drive Letters Windows assigns to new removable USB drives
What is the philosophical significance of speech acts/implicature?
Dynamic SOQL query relationship with field visibility for Users
How would 10 generations of living underground change the human body?
What happens in the secondary winding if there's no spark plug connected?
Is there any official lore on the Far Realm?
Can an Area of Effect spell cast outside a Prismatic Wall extend inside it?
How to stop co-workers from teasing me because I know Russian?
Did the BCPL programming language support floats?
Can't get 5V 3A DC constant
How to filter the result of (page.$$eval)
How do I debug Node.js applications?How do I get started with Node.jsHow do I pass command line arguments to a Node.js program?How to decide when to use Node.js?How to exit in Node.jsWhat is the purpose of Node.js module.exports and how do you use it?How can I update NodeJS and NPM to the next versions?How the single threaded non blocking IO model works in Node.jsHow do I update each dependency in package.json to the latest version?Setting Environment Variables for Node to retrieve
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm using the following code to select all hrefs from a web page:
const hrefs = await page.$$eval('a', as => as.map(a => a.href));
I need to know how to filter those hrefs with the ones that only contains /product/ & contains /c/ for example?
node.js puppeteer
add a comment |
I'm using the following code to select all hrefs from a web page:
const hrefs = await page.$$eval('a', as => as.map(a => a.href));
I need to know how to filter those hrefs with the ones that only contains /product/ & contains /c/ for example?
node.js puppeteer
add a comment |
I'm using the following code to select all hrefs from a web page:
const hrefs = await page.$$eval('a', as => as.map(a => a.href));
I need to know how to filter those hrefs with the ones that only contains /product/ & contains /c/ for example?
node.js puppeteer
I'm using the following code to select all hrefs from a web page:
const hrefs = await page.$$eval('a', as => as.map(a => a.href));
I need to know how to filter those hrefs with the ones that only contains /product/ & contains /c/ for example?
node.js puppeteer
node.js puppeteer
asked Mar 9 at 8:52
Hatem HusamHatem Husam
379
379
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
You can add Array.prototype.filter()
with String.prototype.includes()
predicates:
const hrefs = await page.$$eval(
'a',
as => as.map(a => a.href)
.filter(href => href.includes('/product/') && href.includes('/c/'))
);
add a comment |
You can achieve this by using .filter instead of .map method.
Here is what you can try:
const hrefs = await page.$$eval('a', as => as.filter((d)=>
return (d.contains('/c/') && d.contains('/product/'))
));
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55075601%2fhow-to-filter-the-result-of-page-eval%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can add Array.prototype.filter()
with String.prototype.includes()
predicates:
const hrefs = await page.$$eval(
'a',
as => as.map(a => a.href)
.filter(href => href.includes('/product/') && href.includes('/c/'))
);
add a comment |
You can add Array.prototype.filter()
with String.prototype.includes()
predicates:
const hrefs = await page.$$eval(
'a',
as => as.map(a => a.href)
.filter(href => href.includes('/product/') && href.includes('/c/'))
);
add a comment |
You can add Array.prototype.filter()
with String.prototype.includes()
predicates:
const hrefs = await page.$$eval(
'a',
as => as.map(a => a.href)
.filter(href => href.includes('/product/') && href.includes('/c/'))
);
You can add Array.prototype.filter()
with String.prototype.includes()
predicates:
const hrefs = await page.$$eval(
'a',
as => as.map(a => a.href)
.filter(href => href.includes('/product/') && href.includes('/c/'))
);
answered Mar 9 at 10:23
vsemozhetbytvsemozhetbyt
2,351711
2,351711
add a comment |
add a comment |
You can achieve this by using .filter instead of .map method.
Here is what you can try:
const hrefs = await page.$$eval('a', as => as.filter((d)=>
return (d.contains('/c/') && d.contains('/product/'))
));
add a comment |
You can achieve this by using .filter instead of .map method.
Here is what you can try:
const hrefs = await page.$$eval('a', as => as.filter((d)=>
return (d.contains('/c/') && d.contains('/product/'))
));
add a comment |
You can achieve this by using .filter instead of .map method.
Here is what you can try:
const hrefs = await page.$$eval('a', as => as.filter((d)=>
return (d.contains('/c/') && d.contains('/product/'))
));
You can achieve this by using .filter instead of .map method.
Here is what you can try:
const hrefs = await page.$$eval('a', as => as.filter((d)=>
return (d.contains('/c/') && d.contains('/product/'))
));
answered Mar 9 at 9:05
raviravi
521619
521619
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55075601%2fhow-to-filter-the-result-of-page-eval%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown