加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 用于查找WebElements列表的FindBy注释

发布时间:2020-12-16 00:05:12 所属栏目:百科 来源:网络整理
导读:在 java中,我使用这样的代码来获取具有相同标识符的WebElements列表: @FindBy(how = How.CLASS_NAME,using = "name")private ListWebElement names; 现在,我正在使用c#而我正在尝试使用以下内容执行相同的操作: [FindsBy(How = How.ClassName,Using = "nam
在 java中,我使用这样的代码来获取具有相同标识符的WebElements列表:

@FindBy(how = How.CLASS_NAME,using = "name")
private List<WebElement> names;

现在,我正在使用c#而我正在尝试使用以下内容执行相同的操作:

[FindsBy(How = How.ClassName,Using = "name")]
private List<IWebElement> names;

但是,这给出了例外:

System.ArgumentException: Object of type
‘Castle.Proxies.IWrapsElementProxy_1’ cannot be converted to type
‘System.Collections.Generic.List`1[OpenQA.Selenium.IWebElement]’.

我已经尝试过FindAllBy和FindBys,但这些似乎没有效果.无论如何我还能做到这一点

names = getDriver().findElements(By.ClassNames(“…”))?

解决方法

从2.29.0的.NET绑定开始,这是 now no longer true. FindsBy属性现在将查找单个元素或元素集合.请注意,FindsBy属性修饰的集合字段或属性必须是IWebElement类型或IList< IWebElement>为了由PageFactory填充.任何其他类型都会抛出异常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读