【问题标题】:How to fix a error to write a text on a document-body html?如何修复在文档正文 html 上写入文本的错误?
【发布时间】:2022-02-15 04:41:32
【问题描述】:

大家早上好,我写信是为了帮助我解决一个包含错误的方法。

我正在尝试使用 executeJavascript 方法在 document.body.innerHTML 上编写文本的测试自动化,但它在代码行中被阻塞。我能做些什么来解决这个错误:

“org.openqa.selenium.JavascriptException:语法错误:意外 令牌:标识符”。

感谢您的帮助。 这是我的部分代码:

public void publishCommentInFeedback(String commentTxt) {
    JLearnSelectorUtils
        .findElementByCssSelector(".comment-pane .dbcomment-add A").click();

    ActionUtils.switchToFrame(
        JLearnSelectorUtils.findElementByCssSelector(".new-comment-container IFRAME")
    );

    ActionUtils
        .executeJavascript("document.body.innerHTML = '" + commentTxt + "'");

    ActionUtils.switchToDefaultContent();
    JLearnSelectorUtils.findElementByCssSelector(".new-comment-container .btn").click();
    ActionUtils.waitUntilElementVisible(60, ".fulldisplay-footer .wysiwyg-editor");
}

【问题讨论】:

    标签: java html selenium methods document-body


    【解决方案1】:

    脚本末尾缺少;

       ActionUtils.executeJavascript("document.body.innerHTML = '" + commentTxt + "'");
    

       ActionUtils.executeJavascript("document.body.innerHTML = '" + commentTxt + "';");
    

    另一种查找正文元素的方法:

    String desiredText = "Kevens";
    String scr = "document.getElementsByTagName('body')[0].innerHTML = '" + desiredText + "';";
    JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
    javascriptExecutor.executeScript(scr);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 2020-02-09
      • 2016-05-21
      • 2012-10-11
      相关资源
      最近更新 更多