0

我想输入一个字符串,然后使用 Cleditor 对其进行格式化。但是,当我单击B图标然后单击文本区域框输入文本时,它失去了粗体效果。然后我发现如果我点击B图标,然后立即输入文本而不点击文本区域框架,文本将是粗体。不幸的是,我在单击 B 图标代码后立即使用了 sendKeys(),因此它单击了文本区域框架并失去了所有粗体效果。这是我的代码:

clickElement(driver.findElement(By.xpath("//div[@title='boldText']"))); **//click on the bold icon**
**//switch to the textarea frame**
clickElement2();
driver.switchTo().frame(0);
Thread.sleep(1000);
new Actions(driver).sendKeys(driver.findElement(By.xpath(".//*[@class='cleditor-content']")), "abc").perform();

无论如何我可以在不单击文本区域的情况下输入文本吗?任何解决方案将不胜感激。

4

1 回答 1

0

正如我之前在评论中建议的那样,尝试输入文本,突出显示它,然后单击 B(粗体)按钮。

C# 代码中的示例(在 Java 中应该非常相似):

    var actions = new Actions(WebDriver);
    actions.SendKeys(< yourElement >, "your text").KeyDown(Keys.LeftShift).SendKeys(Keys.Home)
                    .KeyUp(Keys.LeftShift).Build().Perform();

    boldButton.Click();
于 2018-12-20T14:21:18.153 回答