当我尝试使用Selenium将包含<ul><li>
标签的字符串发送到文本框中时,会打开新的选项卡,并且文本区域只由<ul>
而不是<li>
填充
例如:
var body = driver.FindElement(By.XPath("//*[@id="cke_1_contents"]/textarea")); // then you find the body
body.SendKeys('<ul><li>option1</li><li>option2</li></ul>')
然后用<ul></ul>
填充文本区域,并在Chorome中打开2个新选项卡!!!
一个真实的结果:用<ul><li>option1</li><li>option2</li></ul>
填充文本区域
但现在每个李都在浏览器中打开了新的标签,而不是放在文本区域中
您可以通过将字符串复制到剪贴板,然后使用WebDriver SendKeys((将其传递
像这样:
Clipboard.SetText(myStringContainingHTML);
driver.FindElement(By.Id("myTxtBoxId")).SendKeys(OpenQA.Selenium.Keys.LeftControl + "v");
在您的具体问题中,它将是
Clipboard.SetText("<ul><li>option1</li><li>option2</li></ul>");
driver.FindElement(By.XPath("//*[@id="cke_1_contents"]/textarea")).SendKeys(OpenQA.Selenium.Keys.LeftControl + "v");