Javascript 木偶演员;browserWSEndpoint:can';不要动态上传文件
我正在尝试Puppeter和browserless/chrome()来测试一些自动化脚本。我目前正在本地运行一个browserless/chrome实例,通过browserWSEndpoint将Puppeter连接到它 它都在本地运行,都在同一台机器中 除了文件上传代码外,其他一切都很正常。 如果没有无浏览器连接(只需启动Puppeter和chromium实例),代码就可以毫无问题地上传图像,但是,当将图像转发到websocket时,它显然找不到文件,即使我提供了完整的路径 以下是我正在使用的代码:Javascript 木偶演员;browserWSEndpoint:can';不要动态上传文件,javascript,web-services,headless-browser,puppeteer,google-chrome-headless,Javascript,Web Services,Headless Browser,Puppeteer,Google Chrome Headless,我正在尝试Puppeter和browserless/chrome()来测试一些自动化脚本。我目前正在本地运行一个browserless/chrome实例,通过browserWSEndpoint将Puppeter连接到它 它都在本地运行,都在同一台机器中 除了文件上传代码外,其他一切都很正常。 如果没有无浏览器连接(只需启动Puppeter和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存在于该点,并且该文件存在于同一文件夹中
任何指向正确的方向都是非常有用的
干杯 在遇到问题之前,它会运行多远? 它到达第一个“//一些东西”位了吗?
我过去在使用“networkidle2”时遇到过一些问题,从1.0.0开始,它看起来好像已经被删除了直到我尝试通过Web服务上传图像,我才发现这个设置有问题。经过几次测试后,
networkidle
标记是唯一一个真正与我一起工作的标记。它仍然不能解决问题,现在引入了networkidle2
,而不是networkidle2
。如何将本地文件动态上传到web。如果我在本地系统中有100个文件,那么上传这些文件需要遵循什么语法,或者我必须为每个文件运行一个循环,使代码更加复杂。另外,我对这一点非常陌生,我只是尝试使用JS或Gulp等的语法,并且找不到表示/directory/*.jpg
的错误。那么在这种情况下,应该怎么做呢?通常,所有的语法在API中都有这个特性。