selenium处理rich text(富文本框)

2023-02-16,,,

WordPress 的 rich  text

采用js,先让selenium切换到iframe中

driver.switchTo().frame("content_ifr");

然后执行JS

WebElement editor = driver.findElement(By.tagName("body"));
   JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
   jsExecutor.executeScript("arguments[0].innerHTML = '<h1>Selenium Test </h1>I love Selenium <br> this article Post By Selenium WebDriver<br><h2>Create By Young</h2>'", editor);

为什么是innerHTML?

最后再切换出iframe

driver.switchTo().defaultContent();

 public void post()
{
//login();
WebElement article=driver.findElement(By.xpath("//*[@id='menu-posts']/a/div[3]"));
article.click();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
WebElement newArticle=driver.findElement(By.linkText("写文章"));
newArticle.click(); WebElement title=driver.findElement(By.xpath("//*[@id='title']"));
title.sendKeys("I love Selenium"); driver.switchTo().frame("content_ifr");
WebElement editor = driver.findElement(By.tagName("body"));
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].innerHTML = '<h1>Selenium Test </h1>I love Selenium <br> this article Post By Selenium WebDriver<br><h2>Create By Young</h2>'", editor); driver.switchTo().defaultContent(); WebElement submit =driver.findElement(By.xpath("//*[@id='publish']"));
submit.click(); try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} WebElement check=driver.findElement(By.xpath("//*[@id='message']/p"));
Assert.assertTrue(check.getText().contains("文章已发布")); }

selenium处理rich text(富文本框)的相关教程结束。

《selenium处理rich text(富文本框).doc》

下载本文的Word格式文档,以方便收藏与打印。