gpt4 book ai didi

javascript - 从命令行使用 headless chrome 执行单个 Javascript 文件

转载 作者:行者123 更新时间:2023-11-30 14:03:40 25 4
gpt4 key购买 nike

我们使用 PhantomJS 作为简单的测试运行器,如下所示:

phantomjs path/to/test.js

headless chrome 有类似的方法吗?

最佳答案

Selenium WebDriver是一个 NPM 包,可以帮助您运行 headless 浏览器。

试试下面的例子:

const chrome = require('selenium-webdriver/chrome');
const {Builder, By, Key, until} = require('selenium-webdriver');

const width = 640;
const height = 480;

let driver = new Builder()
.forBrowser('chrome')
.setChromeOptions(
new chrome.Options().headless().windowSize({width, height}))
.build();

driver.get('http://www.google.com/ncr')
.then(_ =>
driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN))
.then(_ => driver.wait(until.titleIs('webdriver - Google Search'), 1000))
.then(
_ => driver.quit(),
e => driver.quit().then(() => { throw e; }));

根据API ,驱动程序方法返回 Promises,因此,可以使用 async/await 语法调用:

const chrome = require('selenium-webdriver/chrome');
const {Builder, By, Key, until} = require('selenium-webdriver');

async function test() {
const width = 640;
const height = 480;

let driver = new Builder()
.forBrowser('chrome')
.setChromeOptions(
new chrome.Options().headless().windowSize({width, height}))
.build();

await driver.get('http://www.google.com/ncr')
await driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN))
await driver.wait(until.titleIs('webdriver - Google Search'), 1000))
await driver.quit()
}

test();

关于javascript - 从命令行使用 headless chrome 执行单个 Javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55863044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com