小编use*_*421的帖子

Puppeteer - 向下滚动,直到你不能再这样了

当我向下滚动时,我处于创建新内容的情况.新内容具有特定的类名.

如何继续向下滚动直到所有元素都已加载?换句话说,我想达到一个阶段,如果我继续向下滚动,没有新的东西会加载.

我正在使用代码向下滚动,再加上一个

await page.waitForSelector('.class_name');
Run Code Online (Sandbox Code Playgroud)

这种方法的问题是,在加载所有元素之后,代码继续向下滚动,没有创建新元素,最终我得到超时错误.

编辑:这是代码

await page.evaluate( () => {
                window.scrollBy(0, window.innerHeight);
            });
await page.waitForSelector('.class_name');
Run Code Online (Sandbox Code Playgroud)

javascript node.js puppeteer

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

向 Code::Blocks 添加链接器选项

当我尝试在我的 Win 7 x64 机器上运行使用 Code::Blocks 编译的可执行文件时,它说它无法运行,因为缺少 libgcc_s_dw2-1。

我找到了一个解决方案,将库包含在链接器选项中。(这是我从这里得到的参考:http : //forums.codeblocks.org/index.php?topic=16748.0;prev_next=prev。看最后一篇文章)

问题是,当我转到链接器设置时,在项目构建选项中,那里没有可用的库。我必须下载吗

-static-libgcc
-static-libstdc++
Run Code Online (Sandbox Code Playgroud)

如帖子所述,并将它们放在一个目录中,以便 Code::Blocks 可以看到它们并将它们添加到链接器选项中?如果是,我应该把图书馆放在哪里?

c++ linker codeblocks libgcc

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

将多个Cookie传递给木偶

通过执行用户Abu Taher博士的建议,我使用了一个名为EditThisCookie的插件从浏览器下载cookie。

导出的cookie为JSON格式,实际上是一个对象数组。

是否可以将此数组作为参数传递给puppeteer?我可以将对象数组传递给page.setCookies()函数吗?

cookies json node.js puppeteer

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

Conda 不会让我激活环境

我下载并安装了 miniconda。

首先,可执行文件的名称不是conda,而是_conda

无论如何,我输入:

_conda create -n test python=3.8.3
Run Code Online (Sandbox Code Playgroud)

我继续并安装软件包。

然后我尝试用以下命令激活环境_conda activate test

我明白了:

CommandNotFoundError: Your shell has not been properly configured to use 'conda
activate'.
If using 'conda activate' from a batch script, change your
invocation to 'CALL conda.bat activate'.

To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - cmd.exe
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information …
Run Code Online (Sandbox Code Playgroud)

python python-3.x conda miniconda

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

canvas.width 和 canvas.clientWidth 有什么区别

我正在学习 Three.js,在一个示例中,作者创建了一个画布元素,然后将渲染器绑定到该画布元素。

 <canvas id="c">
 </canvas>

const renderer = new THREE.WebGLRenderer({canvas});
Run Code Online (Sandbox Code Playgroud)

然后他获取画布元素并将其存储到一个变量中canvas = renderer.domElement;

canvas.width和 和有什么区别canvas.clientWidth

javascript dom canvas three.js

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

c++ - 如何将ls命令的输出输出到C++中的数组

有没有办法从 c++ 运行 linux 命令 ls,并在 c++ 中获取存储在一个数组中的所有输出?

谢谢

c++ linux arrays ls output

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

木偶-按类名称计数元素

我试图将有关具有特定类名的所有元素的信息放入数组中。

问题是这是一个动态生成的HTML页面,只要向下滚动,该类名称的新元素就会出现。

幸运的是,我事先知道其中有多少个元素。

因此,我的假设解决方案是检查具有该特定类名的元素的数量,并且只要该数量小于我所知道的数量,就可以继续使用。

问题是我不知道如何准确地计算puppeteer中特定类名称的元素,而且API也不是很有用。

javascript node.js puppeteer

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

Puppeteer - page.$$('').length 返回未定义

我的代码有错误,所以我尝试在错误代码中记录该值。所以我做了:

const read = await page.$$('.Ns6lhs9 _gfh3').length;
Run Code Online (Sandbox Code Playgroud)

然后我 console.log(read);

出于某种原因,undefined尽管'Ns6lhs9 _gfh3'HTML 中有带有类名的元素,但我得到了

javascript node.js async-await puppeteer

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

Node.js 数组到带换行符的文本

我想将一个数组转换为一个文本文件,并用换行符分隔每个条目。

我发现了一个名为 array-to-txt-file 的 npm 包。这是网页: array-to-txt-file

这个包声称将用换行符连接数组的每个元素,以便数组的每个元素都出现在文本文件的自己的行上。

所以我试了一下,虽然效果很好,但它并没有用换行符连接元素。一个元素在哪里结束,另一个元素就在哪里开始。

所以我查看了包的源代码,这是创建这种效果的代码。

try {
    array.forEach(v => {
      if(_.isPlainObject(v)) {
        ws.write(`${JSON.stringify(v)}\n`)
        return
      }
      ws.write(`${v}\n`)
    })
Run Code Online (Sandbox Code Playgroud)

特别是ws.write(${v}\n)部分。

然后我将我的输出文本文件导入到十六进制编辑器中。在十六进制编辑器中,每个元素之间都有一个点。现在,这个点与普通点不同。

常规点的十六进制值为2E,而出现在元素之间的点的十六进制值为0A。另请注意,我使用的是 Windows 7,当用记事本查看时,元素之间没有任何显示 - 一个结束,另一个直接开始。

那么有没有办法修改我上面发布的代码中的那一行,所以它真的在那个部分创建了一个换行符?

javascript arrays hex file node.js

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

有条件地初始化数组

我希望数组根据条件具有两个不同的值。我可以用我想要的值初始化条件内的数组。

if (myCondition == 0)
{
  byte my_message[8] = {0x00, 0xAB, 0xEE, 0xFF, 0x00, 0x01, 0x0A, 0x0B};
}
else if (myCondition == 1)
{
  byte my_message[8] = {0x11, 0xA1, 0xBC, 0x71, 0x00, 0x02, 0x94, 0x10};
}
Run Code Online (Sandbox Code Playgroud)

先前方法的问题是数组具有本地范围,并且下面的代码无法“看到”它。

如果我尝试在条件之外声明数组:

byte my_message[8];
Run Code Online (Sandbox Code Playgroud)

然后,在条件内,我不能使用以前的方式一次性初始化整个数组。

数据中没有模式,因此我可以for在条件内使用循环,以便轻松地为数组的每个元素赋予值。

除了麻烦之外,还有一种给数组赋值的方法吗:

if (myCondition == 0)
{
  my_message[0] = {0x00}; 
  my_message[1] = {0xAB};
  my_message[2] = {0xEE};
  ....
}
Run Code Online (Sandbox Code Playgroud)

c c++ arrays if-statement initialization

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