javascript – 如何在任何Web浏览器中运行Puppeteer代码?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何在任何Web浏览器中运行Puppeteer代码?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2248字,纯文字阅读大概需要4分钟。
内容图文
![javascript – 如何在任何Web浏览器中运行Puppeteer代码?](/upload/InfoBanner/zyjiaocheng/703/6bec7780557f4f1c95d338de55704b01.jpg)
我正在尝试使用Puppeteer进行网络抓取,我需要将值检索到我正在构建的网站中.
我试图在html文件中加载Puppeteer文件,好像它是一个JavaScript文件,但我一直收到错误.但是,如果我在cmd窗口中运行它,它运行良好.
Scraper.js:
getPrice();
function getPrice() {
const puppeteer = require('puppeteer');
void (async () => {
try {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('http://example.com')
await page.setViewport({ width: 1920, height: 938 })
await page.waitForSelector('.m-hotel-info > .l-container > .l-header-section > .l-m-col-2 > .m-button')
await page.click('.m-hotel-info > .l-container > .l-header-section > .l-m-col-2 > .m-button')
await page.waitForSelector('.modal-content')
await page.click('.tile-hsearch-hws > .m-search-tabs > #edit-search-panel > .l-em-reset > .m-field-wrap > .l-xs-col-4 > .analytics-click')
await page.waitForNavigation();
await page.waitForSelector('.tile-search-filter > .l-display-none')
const innerText = await page.evaluate(() => document.querySelector('.tile-search-filter > .l-display-none').innerText);
console.log(innerText)
} catch (error) {
console.log(error)
}
})()
}
index.html的:
<html>
<head></head>
<body>
<script src="../js/scraper.js" type="text/javascript"></script>
</body>
</html>
预期的结果应该是Chrome控制台中的这个:
但我得到了这个错误:
有任何想法吗?
先感谢您!
解决方法:
它适用于浏览器.该包被称为puppeteer-web,专门用于此类情况.
但重点是,必须在某些服务器上运行某些chrome实例.只有这样你才能连接到它.
要使用Browserify捆绑Puppeteer:
Clone Puppeteer存储库:
git clone https://github.com/GoogleChrome/puppeteer && cd puppeteer
npm install
npm run bundle
这将创建包含Puppeteer包的./utils/browser/puppeteer-web.js文件.
您可以稍后在网页中使用它来通过其WS端点驱动另一个浏览器实例:
<script src='./puppeteer-web.js'></script>
<script>
const puppeteer = require('puppeteer');
const browser = await puppeteer.connect({
browserWSEndpoint: '<another-browser-ws-endpont>'
});
// ... drive automation ...
</script>
我和puppeteer和webpack有一些乐趣,
> playground-react-puppeteer
> playground-electron-react-puppeteer-example
有关创建服务器的详细信息,请参阅以下答案,
> Official link to puppeteer-web
> Puppeteer with docker
> Puppeteer with chrome extension
> Puppeteer with local wsEndpoint
内容总结
以上是互联网集市为您收集整理的javascript – 如何在任何Web浏览器中运行Puppeteer代码?全部内容,希望文章能够帮你解决javascript – 如何在任何Web浏览器中运行Puppeteer代码?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。