小编Emm*_*mma的帖子

在 python 中识别 windows/linux GUI 中的文本以进行自动化测试

我对自动化测试很陌生,我有一些问题。我需要自动化 Windows GUI。我已经使用 pyautogui 和 AutoIt 实现了按钮单击和打开文件。现在我有一个任务,因为我必须检测屏幕中的单词或正则表达式位置并单击它。Python 中有没有任何工具或库可以实现这一目标?我已经检查了以下项目:

  • 自动
  • pyautogui
  • 斯库里

另外,我也不想和sikuli一起去。还有其他可以与 Robot Framework 集成的 OCR 吗?

python automated-tests ui-automation python-2.7 robotframework

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

Quarkus和Thorntail有什么区别?

您能否提供QuarkusThorntail之间更详细的区别?

在构建新的“ Java云本机应用程序”时在这两者之间进行考虑时,这将有所帮助。

java thorntail quarkus

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

在Python中使用or运算符捕获组

我发现在Python 3.7.0中,当一个分支最初匹配但使用或运算符捕获组时会出现奇怪的行为,但是正则表达式最终必须回溯并使用另一个分支。在这种情况下,即使正则表达式使用第二个分支,捕获组仍会保留在第一个分支中。

示例代码:

regexString = "^(a)|(ab)$"

captureString = "ab"

match = re.match(regexString, captureString)

print(match.groups())
Run Code Online (Sandbox Code Playgroud)

输出:

('a', None)
Run Code Online (Sandbox Code Playgroud)

第二组是使用的组,但是第一组被捕获,而第二组没有被捕获。

有趣的是,我发现了一种解决方法,可以在两个组之间添加非捕获括号,如下所示:

regexString = "^(?:(a)|(ab))$"
Run Code Online (Sandbox Code Playgroud)

新输出:

(None, 'ab')
Run Code Online (Sandbox Code Playgroud)

在我看来,这种行为似乎是一个错误。如果不是这样,有人可以向我指出一些说明为什么发生这种情况的文档吗?谢谢!

python regex

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

如何将从get_p返回的Promise分配给变量?

我试图从一个子例程返回一个Promise,该子例程包含从HTTP请求获得的一些数据到Web服务器。但是我无法要求then结果。缩小范围后,似乎不可能将从get_p中返回的承诺分配给变量,然后将其用作承诺。

这是一个例子。我本以为两个请求完全相同,但是只有第二个请求在then块中运行代码。

有人可以解释一下两者之间的区别是什么,如果我想在子程序then外链接更多方法,我应该如何从子程序返回promise ?

#!/usr/bin/perl -w

use strict;
use warnings;
use utf8;
use 5.024;

use Data::Dumper;
use Mojo::IOLoop;
use Mojo::UserAgent;

my $promise = Mojo::UserAgent->new->get_p('http://example.com');
$promise->then(sub {
    my $tx = shift;
    warn 'Using variable';
    warn $tx->result->body;
})->wait;

Mojo::UserAgent->new->get_p('http://example.com')
->then(sub {
    my $tx = shift;
    warn 'Not using variable';
    warn $tx->result->body;
})->wait;
Run Code Online (Sandbox Code Playgroud)

perl promise mojolicious mojo-useragent

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

The difference between " and ' in Perl

According to this comment:

You also should not use single quotes in print ">>${ '_<$filename' }<<\n". Instead try: print ">>${ \"_<$filename\" }<<\n"

I always thought that differences between " and ' are only that the string is interpreted or not.

I want to ask why at this context:

print ">>${ \"_<$filename\" }<<\n"
print ">>${  '_<$filename'  }<<\n"
Run Code Online (Sandbox Code Playgroud)

perl prints different values?

Why I should use \" instead of just ' here?

string quotes perl double-quotes single-quotes

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

geopandas 绘制的图例填充了斜线

我使用不同的颜色和图案在 PA 地图上显示三个县。中心县由斜线表示,使用hatch='\\'. 但是我很难在图例上显示这种模式。

我有点知道这行不通,但我尝试过Line2D([0],[0],color='white',hatch='\\',lw=4,label='Centre County'),但遇到了诸如“舱口不是属性”之类的错误。

%matplotlib inline

import geopandas as gpd
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D

fig, ax = plt.subplots(1,figsize=(8,8))

pa.plot(ax=ax,color='white',edgecolor='grey')
centre.plot(ax=ax,color='white',hatch='\\\\\\\\',edgecolor='black')
pike.plot(ax=ax,color='grey')
perry.plot(ax=ax,color='red')

LegendElement = [
                 Line2D([0],[0],color='red',lw=4,label='Perry County'),
                 Line2D([0],[0],color='grey',lw=4,label='Pike County'),
                 Line2D([0],[0],color='white',lw=4,label='Centre County')
                ]
ax.legend(handles=LegendElement,loc='upper right')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python matplotlib pandas geopandas

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

如何关注Svelte中新增的输入?

我使用#each为tasks数组的每个成员显示输入。当我单击“添加任务”按钮时,新元素将插入到数组中,因此新的输入将出现在#each循环中。

单击“添加任务”按钮后,如何聚焦已添加的输入?

<script>
  let tasks = [];

  function addTask() {
    tasks = [...tasks, { title: "" }];
  }
</script>

{#each tasks as task}
  <input type="text" bind:value={task.title} />
{/each}

<button on:click={addTask}>Add task</button>
Run Code Online (Sandbox Code Playgroud)

javascript svelte

4
推荐指数
3
解决办法
370
查看次数

如何使用 EF Core Power Tools 管理同一项目中的多个 dbcontext?

我需要使用不同的连接字符串管理同一项目中的多个上下文,我正在使用 EF Core Power Tools,但该工具为整个项目生成文件配置,值得注意的是,我正在使用数据库优先并分离实体来自另一个类库项目中的 dbcontext。

数据访问层

实体层

c# entity-framework .net-core

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

如何正确查看bigquery作业元数据?INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION

我想INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION在 bigquery 中使用来搜索和查找指向特定表的项目之间的作业。

我在自己的项目中使用了这一方法INFORMATION_SCHEMA.JOBS_BY_PROJECT,但我看不到组织在项目之间询问的内容。

“访问被拒绝:表 bc-te-dlake-dev-s7b3:region-us.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION:用户无权查询表 bc-te-dlake-dev-s7b3:region-us.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION。”

我在我的项目中具有“组织管理员”角色。

metadata google-bigquery google-cloud-platform

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

推断方法中的类型参数

我的C#库中有一个表示域实体的类​​层次结构,所有这些类最终都来自名为的根抽象类DomainEntity。一些示例是PackageCustomer。我Create()在每个类中使用工厂方法来创建实例。我也有一个通用处理器类Processor<T>where T: DomainEntity。该处理器类还使用要实例化的工厂方法,并执行取决于特定类(因此取决于其类型参数)的业务逻辑。使用这个库,我可以例如编写如下代码:

var pkg = Package.Create(/* various arguments */);
var pro = Processor<Package>.Create(pkg);
pro.DoStuff();
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。现在,我想编写一个方法,DomainEntity该方法为任何特定的域实体返回处理器。像这样:

public Processor<T> CreateProcessor<T>()
    where T: DomainEntity
{
    var pro = Processor<T>.Create((T)this);
    return pro;
}
Run Code Online (Sandbox Code Playgroud)

这种方法可以这样使用:

var pkg = Package.Create(/* various arguments */);
var pro = pkg.CreateProcessor<Package>();
pro.DoStuff();
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,但是我Package在调用中找到了对引用的CreateProcessor()冗余,因为我在实例上调用方法Package,因此对于类型参数应引用的类没有任何歧义。但是,这将无法编译:

var pkg = new Package(/* various arguments */);
var pro = pkg.CreateProcessor(); //<-- this does not compile. …
Run Code Online (Sandbox Code Playgroud)

c# generics methods extension-methods

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