gpt4 book ai didi

c# - Selenium FindsBy 属性抛出编译器错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:11 25 4
gpt4 key购买 nike

Finder 属性参数是否有效,即它实际上可以使用吗?每当我尝试使用它时,我都会收到此编译器错误“'Finder' 不是有效的命名属性参数,因为它不是有效的属性参数类型”,例如

[FindsBy(Finder = By.Id("test").FindElement(By.TagName("iframe")))]    
public IWebElement Test{ get; set; }

有没有人有使用 Finder 属性参数的工作示例,或者这是一个错误?

看代码: http://code.google.com/p/selenium/source/browse/trunk/dotnet/src/WebDriver.Support/PageObjects/FindsByAttribute.cs?r=17167#

同样来自 http://msdn.microsoft.com/en-us/library/aa664615%28VS.71%29.aspx , 属性类的位置参数和命名参数的类型仅限于属性参数类型,它们是:

以下类型之一:bool、byte、char、double、float、int、long、short、string。类型对象。类型 System.Type。枚举类型,前提是它具有公共(public)可访问性并且嵌套它的类型(如果有)也具有公共(public)可访问性(第 17.2 节)。以上类型的一维数组。

据我所知,By 不是上述任何类型,所以我得到编译器错误或者我错了吗?

我想要做的是获取一个 ckeditor 文本框作为页面对象的 WebElement 属性,例如:

[FindsBy(Finder = By.Id("cke_Details").FindElement(By.TagName("iframe")))]
public IWebElement Details { get; set; }

还有其他方法可以实现吗?感谢您的帮助

最佳答案

这是 .NET FindsByAttribute 实现中的错误。您不应尝试使用 Finder 属性;它根本不起作用。请改用以下内容:

// WARNING: Completely untested code here. Not guaranteed to 
// work correctly, or even to compile.
[FindsBy(How = How.Id, Using = "test")]
public IWebElement Test { get; set; }

如果您需要更复杂的东西,例如您在问题中提到的分层查找路径,您可以使用 XPath 或 CSS 选择器进行查找,如下所示:

// WARNING: Completely untested code here. Not guaranteed to 
// work correctly, or even to compile.
[FindsBy(How = How.XPath, Using = "//*[@id='test']/iframe")]
public IWebElement Test { get; set; }

关于c# - Selenium FindsBy 属性抛出编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11760984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com