问题列表 - 第318058页

赛普拉斯 Iframe 找不到 0.contentDocument

我正在尝试对需要上传用户的应用程序运行一些测试。我们使用 usecsv 来处理页面上 iframe 中上传的文档。当尝试使用多种不同的方法来对其进行测试时,我不断遇到 cypress 错误:

4000 毫秒后超时重试:cy.its() 出错,因为该属性:0.contentDocument您的主题上不存在。

我尝试与不同的网站进行比较,看看我的命令是否正确:

describe("iFrame", () => {
 
    beforeEach(() => {
      cy.visit('https://kitchen.applitools.com/ingredients/iframe');
    });
   
    it('should find a table in the iframe', () => {
      cy.get('iframe[src="/ingredients/table"]')
        .its('0.contentDocument').its('body').then(cy.wrap);
    });
  });`
Run Code Online (Sandbox Code Playgroud)
<iframe id="the-kitchen-table" title="The Kitchen - Table" 
  width="800" height="800" 
  src="/ingredients/table">
</iframe>
Run Code Online (Sandbox Code Playgroud)

其按预期工作。

针对我的应用程序运行类似的操作时:

describe("Sets up benefits, edits them and verifies functionality", () => {
    it("Changes employee start date for gratuity calculations", () => {
      cy.visit("/");

...
      cy.get('iframe[src="https://app.usecsv.com/importer"]')  
        .its('0.contentDocument').its('body').then(cy.wrap);
    });
})
Run Code Online (Sandbox Code Playgroud)
<iframe src="https://app.usecsv.com/importer"></iframe>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我收到上述错误。当只是尝试时cy.get('iframe[src="https://app.usecsv.com/importer"]')没有错误,所以我假设它确实找到了 …

iframe cypress

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

使用 -fPIC 一致编译 C 代码以获得 rust ffi crate

我的 rust 项目使用 C lib SuperLU 的 FFI,称为superlu-sys。我的 Rust 代码生成与 PyO3 的 Python 绑定。一旦 python 绑定有一个调用 SuperLU 的函数,我就会在构建时收到以下链接器错误:

relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为 -fPIC 是由 superlu-sys 的 build.rs 强制执行的:

run!(cmd!("make")
    .current_dir(&source.join("SRC"))
    .arg("NOOPTS=-O0 -fPIC -w")
    .arg("CFLAGS=-O3 -DNDEBUG -DPRNTlevel=0 -fPIC -w")
    .arg("DZAUX=")
    .arg("SCAUX=")
    .arg(&format!("SuperLUroot={}", source.display()))
    .arg(&format!(
        "SUPERLULIB={}",
        lib.join("libsuperlu.a").display()
    )));
Run Code Online (Sandbox Code Playgroud)

这是完整的build.rs。

在生成一个最小示例时,我发现只要 PyO3 绑定位于构建 SuperLu 的同一个板条箱中,它就可以工作。我的印象是,只有当它是板条箱树的根时,才会遵守 build.rs 中的标志。

如何修改 build.rs 以获得 -fPIC 的一致执行?

这是导致问题的最小示例:lib.rs:

use pyo3::prelude::*; …
Run Code Online (Sandbox Code Playgroud)

c python gcc ffi rust

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

Python 中列表元素的排列

我有一个清单A。我想要特定的排列,以便列表中同一元素不会多次占用同一位置。我介绍当前和预期的产出。我还希望代码适用于任何长度的A.

from itertools import permutations

A = [1, 2, 3]

# Generate all possible permutations and convert tuples to lists
all_permutations = [list(perm) for perm in permutations(A)]

# Print the permutations
for perm in all_permutations:
    print(perm)
Run Code Online (Sandbox Code Playgroud)

当前输出为

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

预期输出是

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

python list python-itertools

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

VSCode Python:枚举已安装的包时出错

我长期成功的 VSCode Python 设置莫名其妙地崩溃了。

请问下面的错误是什么意思?首先推荐的Python 3.12找不到_tkinter。我尝试安装较旧的版本并得到这个。我也无法使用 pip,它说“外部管理环境”。我迷路了。

%  cd /Users/ken/Teaching/Python2024 ; /usr/bin/env /opt/local/bin/python3.9 /Users/ken/.vscode/extensions/ms-python.debugpy-2023.3.13341006-darwin-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 64660 -- /Users/ken/Teaching/Python2024/turtle1.py 
E+00000.193: Error while enumerating installed packages.
             
 Traceback (most recent call last):
   File "/Users/ken/.vscode/extensions/ms-python.debugpy-2023.3.13341006-darwin-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher/../../debugpy/common/log.py", line 361, in get_environment_description
     report("    {0}=={1}\n", pkg.name, pkg.version)
 AttributeError: 'PathDistribution' object has no attribute 'name'

             
 Stack where logged:
   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 197, in _run_module_as_main
     return _run_code(code, main_globals, None,
   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 87, in _run_code
     exec(code, run_globals)
   File "/Users/ken/.vscode/extensions/ms-python.debugpy-2023.3.13341006-darwin-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher/__main__.py", line 91, in <module>
     main()
   File "/Users/ken/.vscode/extensions/ms-python.debugpy-2023.3.13341006-darwin-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher/__main__.py", line 21, in main
     log.describe_environment("debugpy.launcher …
Run Code Online (Sandbox Code Playgroud)

python pip visual-studio-code

10
推荐指数
3
解决办法
6584
查看次数

在“#if”条件中是否允许使用“sizeof”?

根据CPPReference,#if后面跟着一个常量表达式。sizeof是常量表达式中的有效运算符。但是当我写这个并用 clang 或 gcc 编译它时,它失败了:

\n
#if sizeof(char) == 1\n#endif\n
Run Code Online (Sandbox Code Playgroud)\n

clang\xe2\x80\x99s 输出:

\n
sizeof in preprocessor directive.c:1:5: error: function-like macro \'sizeof\' is not defined\n#if sizeof(char) == 1\n    ^\n1 error generated.\n
Run Code Online (Sandbox Code Playgroud)\n

gcc\xe2\x80\x99s 输出:

\n
sizeof in preprocessor directive.c:1:11: error: missing binary operator before token "("\n    1 | #if sizeof(char) == 1\n      |           ^\n
Run Code Online (Sandbox Code Playgroud)\n

是 CPPReference 错误还是编译器错误?

\n

c c-preprocessor

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

允许类型角色覆盖

在 GHC Haskell 中,Map k v有一个类型角色声明k是名义上的。这是因为用户可以以其他coerce k方式使用具有相同表示但不同实例的另一种Ord类型,从而破坏不变量。

但是,我有一些Ord实例是继承的新类型。在这种情况下,unsafeCoerce似乎可以完成这项工作(如果有我不知道的微妙之处,请纠正我),但这完全关闭了强制类型检查,这让我彻夜难眠。在我的具体用例中,我有一个 type MyWrapper k,并且我希望能够声明一些新类型k1->k2作为安全强制转换的可接受类型,即使它是 的参数MyWrapper。这可能吗?还有哪些其他解决方法?

haskell types coercion ghc newtype

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

Delphi 的 VCL 中是否有 HitTest 属性或其他内容?

在 FireMonkey (FMX) 中,每个TControl组件都有一个HitTest属性,允许我启用或禁用组件上的鼠标事件。

VCL中有类似的东西吗?我试着寻找它,但我HitTest在任何地方都找不到房产。

如果没有HitTestVCL,如何实现同样的效果呢?有人可以提供一个关于如何在 VCL 中执行此操作的代码示例吗?

我正在使用 Embarcadero Delphi 12。

delphi vcl mouseevent hittest firemonkey

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

Perl:减少字符串长度会增加字符串数组中的内存使用量

我正在读取一个巨大的文件,以将数据存储在一个非常大的哈希中。我试图使 RAM 使用量尽可能小。

我有一个 MWE,它在 Perl 中表现出奇怪的行为:

#!/usr/bin/env perl

use 5.038;
use warnings FATAL => 'all';
use autodie ':default';
use DDP {output => 'STDOUT', array_max => 10, show_memsize => 1}; # pretty print with "p"

my @l = split /\s+/, 'OC   Pimascovirales; Iridoviridae; Betairidovirinae; Iridovirus.';
p @l;
$_ =~ s/[\.;]$// foreach @l; # single line keeps code shorter
p @l;
Run Code Online (Sandbox Code Playgroud)

它有输出:

[
    [0] "OC",
    [1] "Pimascovirales;",
    [2] "Iridoviridae;",
    [3] "Betairidovirinae;",
    [4] "Iridovirus."
] (356B)
[
    [0] "OC",
    [1] …
Run Code Online (Sandbox Code Playgroud)

memory perl

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

在 Rust 中,当实现 `Display` 特征时,如何获取调用者指定的格式?

给定这个 Rust 程序,它打印1.23456:

use std::fmt;
struct Foo(f64);
impl fmt::Display for Foo {
    fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(formatter, "{}", self.0)
    }
}
fn main() {
    println!("{:.2}", Foo(1.23456));
}
Run Code Online (Sandbox Code Playgroud)

对函数体进行最简单的更改fmt以进行打印1.23?一般来说,是否有一种简单的方法可以在函数内部使用fmt打印对象的代码设置的相同格式选项?我知道格式化程序对象有几种访问格式化选项的方法,但是有没有一种简单的方法可以始终获得通过调用获得的相同结果println!("{:.2}", Foo(1.23456).0);?

formatter rust display

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

Kotlin:为什么没有循环表达式?

这看起来很简单:

val uuids = repeat(5) { UUID.randomUUID() }  // doesn't work as desired
Run Code Online (Sandbox Code Playgroud)

但我需要使用 mutableList 并使用返回 Unit 的各种循环之一。或这个:

val uuids = (1..5).map { UUID.randomUUID() }
Run Code Online (Sandbox Code Playgroud)

Kotlin 遗漏了循环表达式的构造,这似乎很奇怪。我错过了什么?如果没有,为什么我不认为 Kotlin 是一种没有它们的函数式语言?这是未来的物品吗?

kotlin

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