已经很晚了,我在这里肯定错过了一些简单的事情,但是我只是想不通。

我正在尝试使用Webdriver自动执行表单的用户输入。问题在于表单是动态的,并且具有许多自定义字段。在这种情况下,我试图将一个简单的字符串发送到窗体上的所有文本输入框。我想我已经走了一半。我能够使用XPath提取所有文本字段并将其放入列表中。但是,我不确定在他们在那里之后如何与他们互动。这是我到目前为止的代码:

List<IWebElement> textfields = new List<IWebElement>();

var test = Driver.FindElements(By.XPath("//*[@type='text']"));

foreach (IWebElement fields in test)
{
    textfields.Add(fields);
}


我与WebDriver交互的方式是这样的:

Driver.FindElements(By.XPath(querygoeshere)).SendKeys("test");

但是,列表中的所有内容都是IWebElement。接下来我该怎么做?我在这里走错了路吗?

最佳答案

我不确定C#语法,但是这样的方法应该会有所帮助:

List<IWebElement> textfields = new List<IWebElement>();
textfields = Driver.FindElements(By.XPath("//*[@type='text']"));

foreach (IWebElement field in textfields){
    field.SendKeys("test);
}

08-25 00:40