我正在尝试一次提交一个字符串列表,而不是通过一个文本文件单独提交一个字符串列表,使用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();
}
答案 0 :(得分:3)
发送前先加入字符串
var query = string.Join(" ", Lines);
driver.FindElement(By.Name("search")).SendKeys(query);