C#Selenium sendkeys

时间:2018-07-14 09:26:03

标签: c# selenium

我正在尝试一次提交一个字符串列表,而不是通过一个文本文件单独提交一个字符串列表,使用findelement在selenium中使用sendkeys。

用法示例:

save()

此刻我正在使用的是一个foreach循环,以遍历列表,分别发送带有当前行/字符串的请求:

first()

但是该站点每次搜索最多允许100个字符串,所以我不是发送每个请求1个字符串,而是发送100个行。如何从文本文件中提取前100个字符串并将其作为列表输入到sendkeys中,然后接下来的100行,依此类推。

我确实尝试过:

 driver.FindElement(By.Name("search")).SendKeys(line);

但是它返回了一个错误说明:

            foreach (String line in File.ReadAllLines(@"input.txt"))
            {
                string search = line;

                WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60));
                IWebElement element = wait.Until(ExpectedConditions.ElementToBeClickable(By.Name("search")));

                if (driver.FindElements(By.Name("search")).Count != 0)
                {
                    driver.FindElement(By.Name("search")).SendKeys(search);
                }

                driver.FindElement(By.Name("srchbtn")).Click();

                Results();
            }

1 个答案:

答案 0 :(得分:3)

发送前先加入字符串

var query = string.Join(" ", Lines);

driver.FindElement(By.Name("search")).SendKeys(query);