我想做的是加载页面,并通过 XPath 或 Selector 或 JS Path 获取内容,然后将由此获取的值用于我的程序。我怎么能那样做? 例如,在此页面上,使用页面的 url 执行请求并遵循该路径(同时也以某种方式定位类型,这里是类):
//*[@id="question-header"]/h1/a
会给我“加载任何 url 内容并在 JS 中遵循 XPATH”
当我在里面获取文本时:
<a href="/questions/54847748/load-any-url-content-and-follow-xpath-in-js" class="question-hyperlink">Load any url content and follow XPATH in JS</a>
最佳答案
如果您需要以最可靠的方式从网页获取一些数据——即包括可以在客户端执行 JavaScript 生成的数据——您可以使用一些 headless 浏览器的管理器。例如,所描述的任务可以使用 Node.js 和 puppeteer 来完成在此脚本中(通过评估浏览器上下文中的代码片段并在 Node.js 和浏览器上下文之间交换数据,支持选择器和 XPath 以及所有 Web API):
'use strict';
const puppeteer = require('puppeteer');
(async function main() {
try {
const browser = await puppeteer.launch();
const [page] = await browser.pages();
await page.goto('https://stackoverflow.com/questions/54847748/load-any-url-content-and-follow-xpath-in-js');
const data = await page.evaluate(() => {
return document.querySelector('#question-header > h1 > a').innerText;
});
console.log(data);
await browser.close();
} catch (err) {
console.error(err);
}
})();
关于javascript - 加载任何 url 内容并在 JS 中遵循 XPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54847748/