小编Gra*_*ler的帖子

如何在Puppeteer中设置最大视口?

运行新页面时,必须使用以下setViewport函数指定视口的大小:

await page.setViewport({
    width: 1920,
    height: 1080
})
Run Code Online (Sandbox Code Playgroud)

我想使用最大视口。

如何根据窗口大小调整视口的大小?

javascript viewport node.js google-chrome-devtools puppeteer

11
推荐指数
7
解决办法
1万
查看次数

错误:Bootstrap的JavaScript需要jQuery,使用Webpack

我是webpack的新手,但我开始在我的一个项目中使用它来了解它.

我想在引导程序中使用jQuery,但是,当我启动应用程序时,我收到以下错误:

bootstrap.min.js?5802:6未捕获错误:Bootstrap的JavaScript需要jQuery

在我的webpack配置中,我定义了两个入口点,一个用于项目库,一个用于外部源,称为供应商,如jQuery,Bootstrap等.

在供应商中,我已经在jQuery库之后定义了Bootstrap库,但我无法摆脱错误.我缺少的任何线索?

这是我的webapp配置:

import webpack from 'webpack';
import HtmlWebpackPlugin from 'html-webpack-plugin';
import autoprefixer from 'autoprefixer';
let node_dir = __dirname + '/node_modules';

export default {
  resolve: {
    extensions: ['', '.js', '.jsx'],
    alias: {
      'jquery': node_dir + '/jquery/dist/jquery.js',
      'jquery-validation': node_dir + '/jquery-validation/dist/jquery.validate.js',
      'bootstrap': node_dir + '/bootstrap/dist/js/bootstrap.min.js'
    }
  },
  debug: true,
  devtool: 'cheap-module-eval-source-map', // more info:https://webpack.github.io/docs/build-performance.html#sourcemaps and https://webpack.github.io/docs/configuration.html#devtool
  noInfo: true, // set to false to see a list of every file being bundled.

  entry: {
    // must be first entry …
Run Code Online (Sandbox Code Playgroud)

javascript jquery twitter-bootstrap webpack isparta

10
推荐指数
2
解决办法
1万
查看次数

如何让Karify,Babel和Coverage在Karma中一起工作?

我越来越厌倦试图让节点库一起正常工作,但这是工作的一部分,所以这里就是这样.

我有一个用于浏览器的ES6应用程序.我的文件有一组单元测试,当我的应用程序是用ES5编写时,我正在调试.我使用Browserify处理导入/导出模块并捆绑我的发行版.这在浏览器中运行应用程序时工作正常.我可以成功浏览源文件和规范文件并运行测试,测试通过.我非常接近这个工作.

唯一的问题是报道.我最接近的是显示karma-browserify生成的文件的覆盖范围,每个文件看起来像这样:

require('/absolute/path/to/the/corresponding/file.js');
Run Code Online (Sandbox Code Playgroud)

并且所有文件的覆盖率显然为100%,因为每个文件只有一行.

这是我的karma.conf.js:

import babelify from 'babelify';
import isparta  from 'isparta';
import paths    from './paths';

var normalizeBrowserName = (browser) => browser.toLowerCase().split(/[ /-]/)[0];

export default function(config) {
    config.set({
        basePath: '..',
        browsers: ['PhantomJS'],
        frameworks: ['browserify', 'jasmine'],
        files: paths.test.files,
        preprocessors: {
            'app/**/*.js': ['browserify', 'sourcemap', 'coverage'],
            [paths.test.testFiles]: ['babel'],
        },
        plugins: [
            'karma-babel-preprocessor',
            'karma-browserify',
            'karma-coverage',
            'karma-jasmine',
            'karma-junit-reporter',
            'karma-phantomjs-launcher',
            'karma-sourcemap-loader',
        ],
        autoWatch: false,
        colors: false,
        loggers: [{ type: 'console' }],
        port: 9876,
        reporters: ['progress', 'dots', 'junit', 'coverage'],
        junitReporter: {
            outputFile: paths.test.resultsOut,
            suite: '', …
Run Code Online (Sandbox Code Playgroud)

code-coverage browserify karma-runner babeljs isparta

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

简单的accord.net机器学习示例

我是新手机器学习和新手accord.net(我编码C#).

我想创建一个简单的项目,我在其中查看振荡的简单时间序列数据,然后我希望accord.net学习它并预测下一个值将是什么.

这就是数据(时间序列)应该是这样的:

X - Y.

1 - 1

2 - 2

3 - 3

4 - 2

5 - 1

6 - 2

7 - 3

8 - 2

9 - 1
Run Code Online (Sandbox Code Playgroud)

然后我希望它预测以下内容:

X - Y.

10 - 2

11 - 3

12 - 2

13 - 1

14 - 2

15 - 3
Run Code Online (Sandbox Code Playgroud)

你能帮我解决一些如何解决它的例子吗?

c# machine-learning accord.net

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

如果代理拒绝连接,Puppeteer 使用多个代理并更改自动代理

你能告诉我这是否可能吗?

我想使用多个代理并在代理拒绝连接时自动更改代理。

args: [
    '--proxy-server=127.0.0.1:9876', // Or whatever the address is
]
Run Code Online (Sandbox Code Playgroud)

因此,有了这个,您可以使用一个代理,但是如何使用多个代理并让它在拒绝连接时自动更改?

proxy node.js puppeteer

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

没有找到选择器的节点,但 HTML 页面上有选择器

我在尝试使用 Puppeteer 在输入字段中输入文本时遇到了一些麻烦。这是我正在使用的网站的 HTML,它显示id该字段是creditCardNumber

HTML

当我尝试使用page.focusand 时page.type,它说没有用于选择器的节点。这段代码是错误的,还是我可以做一些更好的事情?

await page.waitFor(1500);
await page.focus('#creditCardNumber');
await page.focus('#creditCardNumber', '1234', {delay: 5});
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

UnhandledPromiseRejectionWarning:错误:未找到选择器的节点:#creditCardNumber

html javascript node.js google-chrome-devtools puppeteer

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

Puppeteer:如何根据文本选择下拉选项?

在 Puppeteer 中,我们可以通过提供值作为参数来选择下拉选项:

page.select('select#idOfSelect', 'optionValue'); 
Run Code Online (Sandbox Code Playgroud)

是否有基于文本而不是值来选择选项的功能?

javascript node.js google-chrome-devtools google-chrome-headless puppeteer

7
推荐指数
4
解决办法
2万
查看次数

Puppeteer发射隐身

我使用ws端点(puppeteer.connect({ browserWSEndpoint: '' }))连接到浏览器.

当我启动我最终连接的浏览器时,有没有办法以隐身方式启动它?

我知道我可以这样做:

const incognito = await this.browser.createIncognitoBrowserContext();
Run Code Online (Sandbox Code Playgroud)

但似乎隐身会话与最初打开的浏览器相关联.我只是希望它本身.

我也看到你可以这样做:

const baseOptions: LaunchOptions = { args: ['--incognito']};
Run Code Online (Sandbox Code Playgroud)

但我不确定这是不是最好的方式.

任何意见,将不胜感激.谢谢!

javascript node.js incognito-mode google-chrome-headless puppeteer

7
推荐指数
2
解决办法
4351
查看次数

Karma-Coverage报告显示代码覆盖(显然未涵盖)

我试图生成HTML覆盖率报告,但它不包含我期望的输出.也许我在这里错了,但它应该只显示从spec文件中调用的那些行和方法,对吧?

不知怎的,它没有.

更新:

我创建了一个存储库来提供一个工作示例,概述了问题:

https://github.com/gearsdigital/stunning-octo-train

这是我的(测试)项目设置.如果需要,我可以将它推送到GitHub仓库,因为我不知道如何设置JSFiddle来运行此代码.

TL; DR

有一个生成HTML覆盖率报告的过程.此报告显示所涵盖的代码,由于没有可用的测试,因此显然没有涵盖.

karma.conf.js:

var webpack = require('webpack');
var path = require('path');

// Reference webpack.config.js, don't repeat it!
var webpackConfig = require('./webpack.config.js');

// The entry point from the referenced Webpack configuration has to be
// removed or tests will fail in weird and inscrutable ways.
// Easy enough, just define an empty entry object (null won't work).
webpackConfig.entry = {};
webpackConfig.module = {
    preLoaders: [
        {
            test: /\.js$/,
            // files within these directories should …
Run Code Online (Sandbox Code Playgroud)

javascript webpack karma-coverage babeljs isparta

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

操纵Select的人具有相同选择器的元素列表

背景:

使用NodeJS / CucumberJS / Puppeteer构建emberJS解决方案的端到端回归测试。

问题:

当多个动态元素具有相同的选择器时,选择(page.click)并获取元素之一的textContent?(就我而言,我有4个具有相同选择器的元素= [data-test-foo4 =“ true”])

我知道,

const text = await page.evaluate( () => document.querySelector('[data-test-foo4="true"]').textContent );
Run Code Online (Sandbox Code Playgroud)

我可以获取第一个元素的文本,但是如何使用相同的选择器选择其他元素?我试过了:

var text = await page.evaluate( () => document.querySelectorAll('[data-test-foo4="true"]').textContent )[1];
console.log('text = ' + text);
Run Code Online (Sandbox Code Playgroud)

但这给了我'文字=未定义'

另外,以下内容:

await page.click('[data-test-foo4="true"]');
Run Code Online (Sandbox Code Playgroud)

使用该选择器选择第一个元素,但是如何使用该选择器选择下一个?

javascript node.js google-chrome-devtools puppeteer

6
推荐指数
2
解决办法
1万
查看次数