如何解决Selenium Sendkeys 包含 <ul><li> 标签到 textarea
当我尝试使用 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>
填充 textarea 并在 Chorome 中打开 2 个新标签!!!
一个真实的结果:用 <ul><li>option1</li><li>option2</li></ul>
填充 textarea
但是现在对于每个 li 在浏览器中打开的新标签页而不是放在 textarea 中
解决方法
您可以通过将字符串复制到剪贴板,然后使用 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");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。