Javascript 如何使用node js和Puppeter刮取图像src URL
我想从wikipedia页面上抓取一个图像,但问题是我一次获取同一图像的3个url,这三个url位于同一个名为img的标记中。我只需要src url。谁都知道怎么做Javascript 如何使用node js和Puppeter刮取图像src URL,javascript,html,node.js,web-scraping,puppeteer,Javascript,Html,Node.js,Web Scraping,Puppeteer,我想从wikipedia页面上抓取一个图像,但问题是我一次获取同一图像的3个url,这三个url位于同一个名为img的标记中。我只需要src url。谁都知道怎么做 const puppeteer = require('puppeteer'); const sleep = require('sleep'); (async ()=> { const browser = await puppeteer.launch({ "headless": f
const puppeteer = require('puppeteer');
const sleep = require('sleep');
(async ()=> {
const browser = await puppeteer.launch({
"headless": false
});
const page =await browser.newPage();
await page.goto("https://www.wikipedia.org/");
const xpathselector = `//span[contains(text(), "Commons")]`;
const commonlinks = await page.waitForXPath(xpathselector);
await page.waitFor(3000);
await commonlinks.click();
await page.waitFor(2000)
//await page.waitForSelector()
const images = await page.$eval(('a[class="image"] > img[src]'),node => node.innerHTML);
console.log(images);
} ) ();
//*[@id="mainpage-potd"]/div[1]/a/img
我打赌您看到三个URL,因为您正在查看srcset,它有许多用于不同屏幕的URL。决议。您可以返回src属性: const images=wait page.$eval'a[class=image]>img[src]',node=>node.src;
我打赌您看到三个URL,因为您正在查看srcset,它有许多用于不同屏幕的URL。决议。您可以返回src属性: const images=wait page.$eval'a[class=image]>img[src]',node=>node.src; 仅供参考,这是擦伤,不是擦伤仅供参考,这是擦伤,不是擦伤