网络抓取"/>
使用操纵符进行网络抓取
我认为这是一个显而易见的问题,但仍然无法弄清楚如何从元素中获取文本。
我需要输入文本“您的信用余额为零”。我正在尝试与此:有什么帮助吗?谢谢。
const result = await page.evaluate(() => {
let credits = document.querySelector('#content > searchPanel > div > div:nth-child(6) > span > span:nth-child(2) > span.red-text').innerText
return {
credits
}
console.log(result);
})
这里元素
<div class="wrapper">
<div id="content">
<section style="padding:0px 0;" id="searchPanel">
<div class="text-center">
<br>
<span class="red-text">
<span class="red-text">
Your Credit Balance is zero.
</span>
</span>
</div>
回答如下:我认为此代码应该有效:
const result = await page.evaluate(() => {
const selector = '#content > #searchPanel > div > span > span.red-text';
let credits = document.querySelector(selector).innerText;
return { credits };
})
console.log("Result:", result);
我正在测试以下html
<div class="wrapper">
<div id="content">
<section style="padding:0px 0;" id="searchPanel">
<div class="text-center">
<span class="red-text">
<span class="red-text">
Your Credit Balance is zero.
</span>
</span>
</div>
</section>
</div>
</div>
要针对本地.html文件进行测试的代码:
const path = require("path");
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(`file:${path.join(__dirname, 'test.html')}`);
const result = await page.evaluate(() => {
const selector = '#content > #searchPanel > div form span > span.red-text';
let credits = document.querySelector(selector).innerText;
return { credits };
})
console.log("Result:", result);
})();
更多推荐
使用操纵符进行网络抓取
发布评论