小编msm*_*114的帖子

在 Gitlab 中重用项目标签?

我认为必须有更好的方法来做到这一点,但是如果我在 gitlab 中创建一个新项目,我必须从头开始为新项目重新创建所有标签。

到目前为止,我还没有找到一种从另一个项目“复制”标签的好方法,因此我不必每次都重新创建大量标签。我知道这是一项小任务,但这是那些烦人的任务之一,我觉得你应该能够自动完成这些任务,而不是第十次手动完成每一项任务。

我目前有办法做到这一点吗?即使它正在复制一些已经包含所有标签的“假”项目?

gitlab

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

为父级存储 Playwright 元素的正确方法

我试图找出存储元素定位器的最佳方法,以最终使用该定位器来查找父级。

例如,在这个特定问题中,我有一个表行 ( <tr>),其上有一个唯一的文本Foo(作为<label>)。该表行还有一个复选框。看起来基本上是这样的:

表行

(假设有一个轮廓,但这本质上是表格行布局。表格有很多行(数量不确定),所以我不能只说nth行。所以明显的独特元素是通过其文本获取元素并存储“孩子”定位器。我是这样做的:

const tableRow = page.locator('label:has-text("Foo")')

但是现在我需要抓住它的父级,即 >,<tr这样我就可以抓住要单击的复选框。

对此最好的办法是什么?Playwright 并不完全有一个“父”选择器,我能找到的最接近的是https://playwright.dev/docs/api/class-page#page-locator-option-has has选项。

所以根据我的理解,我需要做类似的事情:

  const tableRow = await page.locator('tr', { has: page.locator('label:has-text("Foo")') })
  await tableRow.locator('input[type="checkbox"]').check()
Run Code Online (Sandbox Code Playgroud)

或者,还有更好的方法?

作为旁注:存储定位器时,它表示await不需要关键字(上面的第一行代码)。await存储定位器时我们不需要吗?

jsfiddle: https: //jsfiddle.net/mLb50jwp/(显然是最简单的版本)

playwright

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

什么时候需要 Playwright 的“waitForSelector”?

老实说我很好奇为什么会存在这种方法?Playwright 通常会自动等待事物可见或加载。那么我们为什么需要打电话呢page.waitForSelector("locator")

我知道我们是否正在等待特定状态,但我看到很多使用此方法的示例代码随机抛出......但我不太明白为什么在正常情况下有必要?

playwright

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

水豚,从下拉菜单中选择第一个选项?

我已经进行了搜索,并且大多数相关的google结果都已返回,通常是从下拉菜单中选择一个元素。但是,不幸的是,在这种情况下,下拉列表中元素的ID是动态生成的。

这是针对基本测试用例的,因此我基本上只需要选择第一个。下拉菜单中的元素文本也相同(不确定是否有帮助)。

有这样的例子吗?

即时通讯使用黄瓜与caybara(使用硒驱动器)集成

selenium cucumber capybara

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

Jinja2字典列表到HTML表中?

所以我试图从字典列表中使用Jinja2创建一个HTML表格(由Flask SQL select语句返回).

现在test_list已经存储了一个字典列表(键是DB列).

现在我用这个:

<table style="width:100%">
   {% for dict_item in history_list %}
   {% for key, value in dict_item.items() %}
    <tr>
        <th> {{ key }} </th>
        <td> {{ value }} </td>
    </tr>
   {% endfor %}
{% endfor %}
</table>
Run Code Online (Sandbox Code Playgroud)

它确实有效,但它基本上产生了2列(一列是键,一列是列).我想将DB键作为表中的列标题,然后只是放入每列的值.

这可能吗?因为我想要只重复一次密钥?

python jinja2 flask

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

jquery .append()工作然后消失了吗?

我在FreeCodeCamp的Wikiviewer上工作,我遇到了一个奇怪的问题.

我只是在这里运行一个基本的例子(它现在还不错,只是概念证明):http: //codepen.io/msmith1114/pen/peBKxM?editors = 1111

我附加在这里(在JS代码中,并不是很多):

$("#links").append('<li><a href="' + arrayLinks[0] + '">' + arrayName[0] + '</a></li>');
      $("#links").append('<li><a href="' + arrayLinks[1] + '">' + arrayName[1] + '</a></li>');
      $("#links").append('<li><a href="' + arrayLinks[2] + '">' + arrayName[2] + '</a></li>');
      })
Run Code Online (Sandbox Code Playgroud)

所以这真的有两个问题(如果你在控制台打开的情况下尝试它,你会看到)

第一个主要问题:列表将显示(3个链接),然后消失......这没有任何意义.据我所知,jquery.append()应该将它们留在那里,因为我将它们附加到我的html部分中

第二个问题:似乎有时getJSON不会返回任何内容.我认为在.done()部分中包装我的语句会确保在维基百科API返回之前不会做任何事情,但有时你却得不到任何回报.这是一个WikiAPI问题还是别的?(顺便说一句,如果它不起作用,只需在搜索框中输入"cat"或其他内容并再次点击搜索,它最终会一直有效,直到你遇到上面的问题1).

谢谢.我还在学习JS/Jquery所以我有点不解为什么这不起作用.

javascript jquery

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

Array.slice() 参数不是函数

我在使用 freeCodeCamp beta 时遇到了一个奇怪的问题。

\n\n

这样做的“目的”不是修改原始数组,而是使用函数式编程技术来修改数组。

\n\n

然而,我不断收到关于“array”参数的抱怨,因为删除函数不是有效的函数:

\n\n
//  the global variable\nvar bookList = [\n    "The Hound of the Baskervilles",\n    "On The Electrodynamics of Moving Bodies",\n    "Philosophi\xc3\xa6 Naturalis Principia Mathematica",\n    "Disquisitiones Arithmeticae"];\n\n/* This function should add a book to the list and return the list */\n// New parameters should come before the bookName one\n\n// Add your code below this line\nfunction add (bookListTemp, bookName) {\n  let newBookArr = bookListTemp;\n  return newBookArr.push(bookName);\n  // Add your code above this line\n}\n\n/* This function …
Run Code Online (Sandbox Code Playgroud)

javascript

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

javascript forEach数组回调时间?

所以即时通讯了解不同的数组迭代方法,并遇到了奇怪的事情:

[1,2,3].forEach(function(element,index,arr){
        console.log(element,index);
    console.log(arr);
    arr.shift();
})
Run Code Online (Sandbox Code Playgroud)

所以你会认为这会产生:

1,0
[1,2,3]
2,1
[2,3]
3,2
[3]
Run Code Online (Sandbox Code Playgroud)

但你得到这个:

1 0
[1, 2, 3]
3 1
[2, 3]
Run Code Online (Sandbox Code Playgroud)

即使最后只有一个转移,我打印3关闭?这是因为arr回调发生在下一个项目的开头还是什么?既然它应该在数组AFTER上做shift()?我意识到这是使用这种方法的"坏情况",我只是好奇为什么会发生这种情况.

javascript

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

JavaScript递归函数未返回值?

我解决了代码战的问题,我很确定我已经做到了:

function digital_root(n) {
    // ...
    n = n.toString();
    if (n.length === 1) {
        return parseInt(n);
    } else {
        let count = 0;
        for (let i = 0; i < n.length; i++) {
            //console.log(parseInt(n[i]))
            count += parseInt(n[i]);
        }
        //console.log(count);
        digital_root(count);
    }
}

console.log(digital_root(942));
Run Code Online (Sandbox Code Playgroud)

本质上,它应该找到“数字根”:

数字根是数字中所有数字的递归和。给定n,取n的数字之和。如果该值有两位数字,则以这种方式继续减小直到产生一位数字。这仅适用于自然数。

因此,我实际上在最后得到了正确的答案,但是无论出于何种原因,该if语句(我正在监视调试器的运行并确实输入了该语句,都会说返回值是正确的值。

但是,然后它跳出if语句并尝试从main digital_root函数返回?

为什么是这样?当它达到if声明时,它不应该突破吗?我很困惑,为什么它尝试跳出if语句,然后尝试不返回任何内容,digital_root因此返回值最终未定义?

javascript recursion

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

C ++与Initializer List一件事,什么时候使用普通的构造函数?

我最近才刚开始回到C ++,并了解了初始化列表。这似乎是初始化成员的标准方法。话虽如此,我对此有两个问题:

  1. 设置私有成员变量时(并且仅在构造函数中使用老式的设置)时,是否有理由不使用此方法。

  2. 我们从中得到什么确切的好处?有人告诉我“速度”,但为什么不呢?

编辑:作为参考,我更具体地讲使用它们进行类初始化。

c++

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

Rails 错误消息没有显示?

我是 Rails 的新手……但我正在尝试自己做一个应用程序来“练习”我学到的东西。

我有一个带有模型验证的新表单,但没有显示错误消息。这是我所拥有的:

seed.rb (模型)

class Seed < ApplicationRecord
    validates :name, presence: true
    validates :category, presence: true
    validates :latin, presence: true
    validates :maturity, presence: true
    validates :sun, presence: true
    validates :sow, presence: true
    validates :cycle, presence: true
    validates :description, presence: true, length: { minimum: 5, maximum: 500 }
    mount_uploader :seedimage, SeedImageUploader
end
Run Code Online (Sandbox Code Playgroud)

seed_controller.rb (控制器)

  class SeedsController < ApplicationController    
    def index
       @seeds = Seed.all 
    end

    def new
       @seed = Seed.new
    end

    def create
      @seed = Seed.new(seed_params) 
      if @seed.save
        redirect_to seeds_path …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

0
推荐指数
1
解决办法
1042
查看次数

C ++类指针和所有权

因此,我在C ++中重新创建了Pong(将ncurses用于终端hijinks,因为尝试仅通过控制台来完成它比我想象的要难得多)。这已经有一段时间了,它的意思是“刷新C ++”,我想使用Unity进行一些Hobby游戏开发。

我想:“至少我应该先用C ++制作一个简单的游戏,以证明我什至可以从Unity开始。” Pong是您需要处理的明显选择:对象,游戏状态,碰撞,运动矢量。

在刷新C ++的过程中,我不得不查找许多新事物,并提醒自己一些被遗忘的事情(自接触C ++已有10年了)。我不太清楚的一件事是关于类的指针的详细信息。(顺便说一下,这里有一个非常基本的版本,包括球和桨/碰撞):https : //pastebin.com/5NHjEjxX到目前为止,我只花了几个小时。

具体来说,我在这里记不清一件事:

const int boardWidth = 60;
const int boardHeight = 12;
Ball ball = Ball(-1,1,(boardWidth/2),(boardHeight/2));
Ball *p_ball = &ball;
Paddle paddle1 = {4,(boardHeight/2),3};
Paddle *p_paddle1 = &paddle1;
Paddle paddle2 = {(boardWidth-4), (boardHeight/2),3};
Paddle *p_paddle2 = &paddle2;
Board board; 
Run Code Online (Sandbox Code Playgroud)

(这是在Game类初始化中。尽管我有点想知道是否应该将其放入构造函数中)。但是...。特别是当我声明Ball ball = Ball(-1,1,(boardWidth/2),(boardHeight/2));Paddle paddle1 = {4,(boardHeight/2),3};这些项“坐在”内存中在哪里?我承担堆?另外,我将如何以正确的方式删除这些内容(例如,球超出范围,我需要创建一个新球?)

我知道关于所有权的一些事情……我觉得这是使用&的错误方式,因为例如p_ball实际上不会“拥有”该类,而只是能够正确引用它?(我认为有一个术语“智能指针”,但是上次我接触C ++时还没有真正出现过)。如果有更合适的方法,我想知道!

我还被告知,无论如何都要避免在这些函数中通过引用传递引用,以避免使用指针并避免一起创建指针。

c++ pointers lifetime

-2
推荐指数
1
解决办法
60
查看次数