使用 Selenium 在 textArea 中输入完整的 html
Posted
技术标签:
【中文标题】使用 Selenium 在 textArea 中输入完整的 html【英文标题】:Input full html in textArea using Selenium 【发布时间】:2019-08-23 20:22:23 【问题描述】:我有一个文本区域,我需要在那里输入完整的 html。
在 BDD 中,我将传递文件的路径,但我不知道如何捕获完整的 HTML(带标签)以通过 SendKeys 应用到 Textarea。
我正在使用 Specflow + Selenium + C#
Scenario Outline: Input Disclaimer Filme
Given I choose the type of disclaymer <type>
When I open the html file <file>
Then I send then
Examples:
| type | file |
| "Cota Capital" | "C:\Disclaimers\CotaCapital.html" |
| "Caucionamento" | "C:\Disclaimers\Caucionamento.html" |
方法内部:
driver.FindElement(By.Id("TxtConteudo")).SendKeys(fullHtml);
我想打开文件,读取所有 html,将其保存在某个 var / string 中,然后将其传递给 textArea。
【问题讨论】:
【参考方案1】:只需阅读内容,然后在您的步骤定义中将其传递到文本区域。
string fullHtml = File.ReadAllText(file);
char tab = '\u0009';
fullHtml = fullHtml.Replace(tab.ToString(), "");
driver.FindElement(By.Id("TxtConteudo")).SendKeys(fullHtml);
【讨论】:
它几乎可以工作。此代码仅在 textarea 中打印 html 的第一行。我试过 fullHtml.Replace("\n", "");不成功 需要做的:char tab = '\u0009'; fullHtml = fullHtml.Replace(tab.ToString(), "");它有效!以上是关于使用 Selenium 在 textArea 中输入完整的 html的主要内容,如果未能解决你的问题,请参考以下文章