Selenium:通过集合查找
本文关键字:集合 查找 Selenium | 更新日期: 2023-09-27 17:52:56
我是测试的初学者,有一个问题。如果我使用属性FindsBy
,如何正确使用ReadOnlyCollection<IWebElement>
。我的集合在开始测试后总是空的。下面是我的c#代码:
[FindsBy(How = How.Name, Using = "role")]
public ReadOnlyCollection<IWebElement> radPercentage { get; }
,这里是测试web: http://testwisely.com/demo/survey
我想这样做:radPercentage[2].Click();
您需要在使用集合之前调用InitElements。传递驱动程序和一个包含FindsBy属性的类实例(在我的代码"this"中)。
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://testwisely.com/demo/survey");
PageFactory.InitElements(driver, this);
IWebElement radio = this.radPercentage[2];
InitElements方法期望属性类型为IWebElement或IList of IWebElement
[FindsBy(How = How.Name, Using = "role")]
public IList<IWebElement> radPercentage;
试试这个
public void FindStuff()
{
var stuff = driver.FindElements(By.Name("role"));
stuff[2].Click();
}