我正在尝试使用puppeteer和browserless / chrome(https://hub.docker.com/r/browserless/chrome)来测试一些自动化脚本。我目前正在本地运行一个无浏览器/ chrome实例,用 browserWSEndpoint 将puppeteer连接到它。
它们全部在本地运行,都在同一台机器上。
除文件上传代码外,其他所有功能都有效。 如果没有无浏览器连接(只是启动puppeteer和chrome实例),代码可以毫无问题地上传图像,但是,当将它转发到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,并且该文件存在于同一文件夹中。
任何指向正确方向的人都非常有帮助。
干杯!
答案 0 :(得分:2)
在遇到问题之前它运行了多远?
它是否达到第一个'//某些东西'位?
我过去使用'networkidle2'
遇到了一些麻烦,从1.0.0开始,它看起来好像被删除了