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)