想要读取一个大文件并一次发送密钥

时间:2019-04-30 14:58:17

标签: c# selenium

我有一个HTML,我需要阅读它的内容,然后他们使用硒将其发送到文本框。

我可以读取存档并将其发送,但是我的某些HTML太大了,需要很长时间才能将SendKeys转换为字符。

我想要一种立即将所有HTML内容快速粘贴到TextBox的方法。

我正在考虑使用SendKeys.Send(“ ^ {v}”) 但是我不喜欢复制fullHtml

是否可以在HTML中执行类似CTRL A和CTRL C的操作?

string fullHtml = File.ReadAllText(path+file);

//Removing TAB from the HTML, because TAB leaving the textbox 
char tab = '\u0009';
fullHtml = fullHtml.Replace(tab.ToString(), "");

driver.FindElement(By.Id("TxtConteudo")).SendKeys(fullHtml);

1 个答案:

答案 0 :(得分:0)

要解决此问题,清除剪贴板并定义STAThread非常重要。

string fullHtml = File.ReadAllText(path+file);

//Retirando TAB do arquivo HTML, pois o mesmo não permite o envio de várias linhas de arquivo.
char tab = '\u0009';
fullHtml = fullHtml.Replace(tab.ToString(), "");

Thread STAThread = new Thread(
delegate ()
{
    Clipboard.Clear();
    System.Windows.Forms.Clipboard.SetText(fullHtml);
});
STAThread.SetApartmentState(ApartmentState.STA);
STAThread.Start();
STAThread.Join();

driver.FindElement(By.Id("TxtConteudo")).Click();
SendKeys.SendWait(@"^{V}");