Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Puppeter自动创建亚马逊连接CCP登录?_Javascript_Google Chrome_Puppeteer_Google Chrome Headless_Amazon Connect - Fatal编程技术网

Javascript 如何使用Puppeter自动创建亚马逊连接CCP登录?

Javascript 如何使用Puppeter自动创建亚马逊连接CCP登录?,javascript,google-chrome,puppeteer,google-chrome-headless,amazon-connect,Javascript,Google Chrome,Puppeteer,Google Chrome Headless,Amazon Connect,我正在尝试使用Puppeter自动化Amazon Connect中代理的登录过程,但是我无法让Puppeter完成CCP登录页面的加载。见下面的代码: const browser = await puppeteer.launch(); const page = await browser.newPage(); const url = 'https://ccalderon-reinvent.awsapps.com/connect/ccp#/'; await page.goto(url, {wa

我正在尝试使用Puppeter自动化Amazon Connect中代理的登录过程,但是我无法让Puppeter完成CCP登录页面的加载。见下面的代码:

const browser = await puppeteer.launch();

const page = await browser.newPage();
const url = 'https://ccalderon-reinvent.awsapps.com/connect/ccp#/';

await page.goto(url, {waitUntil: 'domcontentloaded'});

console.log(await page.content());

// console.log('waiting for username input');

// await page.waitForSelector('#wdc_username');

await browser.close();
我永远看不到页面的内容,它超时了。我做错什么了吗?如果我使用{headless:false}启动浏览器,我可以看到页面从未完成加载


请注意,相同的代码可以正常使用,因此它必须是Connect的CCP源代码的特定代码。

如果您来自future,并且无缘无故与Puppeter有问题,请先尝试降级Puppeter版本,看看问题是否仍然存在


这似乎是Chromium开发版本73.0.3679.0的一个bug,错误日志说它无法加载特定的脚本,但我们仍然可以手动加载脚本

解决方案: 使用Puppeter版本1.11.0解决了这个问题。但是如果您想使用Puppeter版本1.12.2,但有不同的chromium版本,您可以使用
executablePath
参数

以下是《木偶演员》中使用的各个版本(在回答这个问题时)

  • 铬73.0.3679.0-木偶演员v1.12.2
  • 铬72.0.3582.0-木偶演员v1.11.0
  • 铬71.0.3563.0-木偶演员v1.9.0
  • 铬70.0.3508.0-木偶演员v1.7.0
  • 铬69.0.3494.0-木偶演员v1.6.2
我检查了本地安装的chrome浏览器,它正确加载了页面

$(which google-chrome) --version
Google Chrome 72.0.3626.119
注意:木偶师团队在他们的文档中建议专门使用代码附带的chrome(最有可能是最新的开发者版本),而不是使用不同的版本

此外,我还稍微编辑了代码,以便在所有网络请求完成且
用户名
输入为可见时完成加载

const puppeteer = require("puppeteer");
(async () => {
  const browser = await puppeteer.launch({
    headless: false,
    executablePath: "/usr/bin/google-chrome"
  });

  const page = await browser.newPage();
  const url = "https://ccalderon-reinvent.awsapps.com/connect/ccp#/";

  await page.goto(url, { waitUntil: "networkidle0" });

  console.log("waiting for username input");
  await page.waitForSelector("#wdc_username", { visible: true });

  await page.screenshot({ path: "example.png" });
  await browser.close();
})();
具体版本号可以通过多种方式获得,一种是检查Puppeter软件包的
package.json
1.11.0
的url是

https://github.com/GoogleChrome/puppeteer/blob/v1.11.0/package.json
如果您想自动下载chrome版本,可以使用
browserFetcher
获取特定版本

const browserFetcher = puppeteer.createBrowserFetcher();
const revisionInfo = await browserFetcher.download('609904'); // chrome 72 is 609904
const browser = await puppeteer.launch({executablePath: revisionInfo.executablePath})
结果:

如果您来自future,并且无缘无故与木偶师有问题,请尝试先降低木偶师版本的级别,看看问题是否仍然存在


这似乎是Chromium开发版本73.0.3679.0的一个bug,错误日志说它无法加载特定的脚本,但我们仍然可以手动加载脚本

解决方案: 使用Puppeter版本1.11.0解决了这个问题。但是如果您想使用Puppeter版本1.12.2,但有不同的chromium版本,您可以使用
executablePath
参数

以下是《木偶演员》中使用的各个版本(在回答这个问题时)

  • 铬73.0.3679.0-木偶演员v1.12.2
  • 铬72.0.3582.0-木偶演员v1.11.0
  • 铬71.0.3563.0-木偶演员v1.9.0
  • 铬70.0.3508.0-木偶演员v1.7.0
  • 铬69.0.3494.0-木偶演员v1.6.2
我检查了本地安装的chrome浏览器,它正确加载了页面

$(which google-chrome) --version
Google Chrome 72.0.3626.119
注意:木偶师团队在他们的文档中建议专门使用代码附带的chrome(最有可能是最新的开发者版本),而不是使用不同的版本

此外,我还稍微编辑了代码,以便在所有网络请求完成且
用户名
输入为可见时完成加载

const puppeteer = require("puppeteer");
(async () => {
  const browser = await puppeteer.launch({
    headless: false,
    executablePath: "/usr/bin/google-chrome"
  });

  const page = await browser.newPage();
  const url = "https://ccalderon-reinvent.awsapps.com/connect/ccp#/";

  await page.goto(url, { waitUntil: "networkidle0" });

  console.log("waiting for username input");
  await page.waitForSelector("#wdc_username", { visible: true });

  await page.screenshot({ path: "example.png" });
  await browser.close();
})();
具体版本号可以通过多种方式获得,一种是检查Puppeter软件包的
package.json
1.11.0
的url是

https://github.com/GoogleChrome/puppeteer/blob/v1.11.0/package.json
如果您想自动下载chrome版本,可以使用
browserFetcher
获取特定版本

const browserFetcher = puppeteer.createBrowserFetcher();
const revisionInfo = await browserFetcher.download('609904'); // chrome 72 is 609904
const browser = await puppeteer.launch({executablePath: revisionInfo.executablePath})
结果:

有可能是因为fingerPrint.js而抛出,但不知何故它检测到了你。我如何确认@Md.AbuTaher???你解决了问题吗?没有,我没有@Md.AbuTaher给你,解决方案。它可能是因为fingerPrint.js而抛出的,但不知何故它检测到了你。我如何确认@Md.AbuTaher???你解决了问题吗?不,我没有@Md.AbuTaher给你,解决方案。