幽灵光标错误:elem.remoteObject 不是 puppeteer 中的函数

Arm*_*nia 5 javascript headless node.js puppeteer

每当我在本地系统中运行脚本时,光标都会正常工作,当我在 docker 内运行时,我会获取一个错误,所以有人指导我出了什么问题,或者这个问题是否是包方面的。

当我在本地运行时,我 headless: false 并在 docker 内运行 headless: true 但我尝试在 docker headless: false 内运行,但它无法工作

这是代码

const puppeteer = require('puppeteer');
const {path,createCursor} = require("ghost-cursor");
const url = process.argv[2];

async function run() {
    browser = await puppeteer.launch({
        args: ['--disable-gpu', '--no-first-run', '--no-sandbox', '--no-zygote'],
        "dumpio": true,
        "devtools": false,
        "ignoreHTTPSErrors": true,
    });

    const page = await browser.newPage();
    const cursor = createCursor(page);
    await cursor.move(selector)
    await page.goto(url);
    await page.screenshot({ path: 'screenshot.png' });
    browser.close();
}
run();

Here is Error Message 

    TypeError: elem.remoteObject is not a function
    at Object.<anonymous> (/usr/app/node_modules/ghost-cursor/lib/spoof.js:458:61)
    at step (/usr/app/node_modules/ghost-cursor/lib/spoof.js:44:23)
    at Object.next (/usr/app/node_modules/ghost-cursor/lib/spoof.js:25:53)
    at fulfilled (/usr/app/node_modules/ghost-cursor/lib/spoof.js:16:58)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
Run Code Online (Sandbox Code Playgroud)

小智 0

selector未定义

您需要从 UI 中抓取一个元素才能像这样移动

import { createCursor } from "ghost-cursor"
import puppeteer from "puppeteer"

const run = async (url) => {
  const selector = "#sign-up button"
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage()
  const cursor = createCursor(page)
  await page.goto(url)
  await page.waitForSelector(selector)
  await cursor.click(selector)
}
Run Code Online (Sandbox Code Playgroud)