相关疑难解决方法(0)

在 docker 内运行 Puppeteer headfull (headless false)

我需要使用 Chrome 在 docker 内启动 Puppeteer headfull (headless false),但出现相同的错误:“无法启动 chrome”。

我安装了所有依赖项,但它随时都会崩溃

Error: Failed to launch chrome!


TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md

    at onClose (/app/node_modules/puppeteer/lib/Launcher.js:339:14)
    at ChildProcess.helper.addEventListener (/app/node_modules/puppeteer/lib/Launcher.js:329:60)
    at emitTwo (events.js:131:20)
    at ChildProcess.emit (events.js:214:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM node:8

RUN apt-get update && apt-get install -yq --no-install-recommends tightvncserver xfce4 xfce4-goodies apt-utils gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates …
Run Code Online (Sandbox Code Playgroud)

google-chrome-devtools docker puppeteer

7
推荐指数
0
解决办法
7152
查看次数

如何使用 vnc 在 ubuntu 中运行 docker 镜像?

为了检查在 docker 镜像中运行的 selenium 测试,我尝试设置一个 VNC 来验证测试期间发生的情况。

我正在按照此处提出的建议创建一个新的 docker 映像,并在 中添加以下附加行Dockerfile

RUN     apt-get install -y x11vnc 
RUN     mkdir ~/.vnc
RUN     x11vnc -storepasswd 1234 ~/.vnc/passwd
Run Code Online (Sandbox Code Playgroud)

然后我使用以下命令启动了 docker 镜像:

docker run -p 5900 --rm -it --entrypoint /bin/bash selenium-tests
Run Code Online (Sandbox Code Playgroud)

并开始krdc作为我的 VNC 查看器。那么现在怎么办?

我在krdc. 也许我错过了什么?我是否必须在 docker 中明确启动 vnc 代码?我需要向docker命令传递额外的参数吗?

  • 码头工人:1.13.1
  • Ubuntu:16.4.03
  • krdc:4.14.16

ubuntu vnc docker

4
推荐指数
1
解决办法
9548
查看次数

Bitbucket 管道和非无头 Puppeteer?

我正在尝试运行 non-headless puppeteer 来测试管道中的 chrome 扩展。

当我用谷歌搜索这个话题时,我发现很多人能够让无头木偶操纵者在管道上工作,但由于某种原因,我无法让它与非无头人偶一起工作。

Puppeteer 故障排除文档说 TravisCI 是可能的,所以管道也应该是可能的?

我尝试了许多不同的 docker 图像,但似乎没有一个起作用。这是我目前的设置:

image: node:9

pipelines:
  branches:
    staging:
      - step:
        script:
          - node -v
          - yarn -v
          - yarn install
          - apt update && apt install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
          - apt-get install -y …
Run Code Online (Sandbox Code Playgroud)

javascript continuous-integration automated-tests bitbucket-pipelines puppeteer

4
推荐指数
1
解决办法
1798
查看次数

如何使用 puppeteer 禁用 webRTC 本地 IP 泄漏?

我试过:

const browser = await puppeteer.launch({args: ['--enable-webrtc-stun-origin=false', '--enforce-webrtc-ip-permission-check=false']});
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。接下来我尝试:

const targets = await browser.targets();
const backgroundPageTarget = targets.find(target => target.type() === 'background_page');
const backgroundPage = await backgroundPageTarget.page();
await backgroundPage.evaluateevaluateOnNewDocument(() => {
  chrome.privacy.network.webRTCIPHandlingPolicy.set({
    value: "default_public_interface_only"
  });
});
Run Code Online (Sandbox Code Playgroud)

但得到:

类型错误:无法读取未定义的属性“页面”

编辑:需要 {headless: true} 的解决方案。

node.js google-chrome-headless puppeteer

1
推荐指数
1
解决办法
3845
查看次数