【发布时间】:2018-01-15 17:36:21
【问题描述】:
我正在尝试 puppeteer 和 browserless/chrome (https://hub.docker.com/r/browserless/chrome) 来测试一些自动化脚本。我目前只是在本地运行一个无浏览器/chrome 实例,使用 browserWSEndpoint 将 puppeteer 连接到它。
都在本地运行,都在同一台机器上。
除了文件上传代码之外,几乎所有东西都可以正常工作。 如果没有无浏览器连接(仅启动 puppeteer 和 chromium 实例),代码可以毫无问题地上传图像,但是,当将其中继到 websocket 时,即使我提供完整路径,它显然也找不到文件。
这是我正在使用的代码:
const browser = await puppeteer.connect({
browserWSEndpoint: 'ws://localhost:32769',
headless: true
})
const page = await browser.newPage();
await page.goto('http://localhost:8080', {waitUntil: 'networkidle2'});
// Do some things
let testUpload = async () => {
const upload = await page.$("input");
await upload.uploadFile('test.jpg');
await page.screenshot({path: 'test_s_'+Date.now()+'.png'});
}
// Do more things
我 100% 确定 DOM 存在于那个时候,并且该文件存在于同一个文件夹中。
任何指向正确的方向都是非常有帮助的。
干杯!
【问题讨论】:
标签: javascript web-services headless-browser puppeteer google-chrome-headless