gpt4 book ai didi

javascript - 如何使用 selenium 在 Code Mirror 行中输入文本?

转载 作者:行者123 更新时间:2023-11-30 06:43:14 26 4
gpt4 key购买 nike

我正在使用 IE 在标记为 CodeMirror-line 的文本框中输入文本。我尝试过 javascript 执行器,但这似乎只是为了看起来,因为当我尝试保存我输入的内容时,它会消失。如何将文本写入代码镜像以使其保留?下面是我使用 javascript 执行器来写入代码镜像的 xpath

JavascriptExecutor js = (JavascriptExecutor) driver;

js.executeScript("arguments[0].innerHTML = 'Some text';", element);

@FindBy(xpath = "//*[@id='md-tab-content-1-0']/div/div/div[2]/jw-editor/div[1]/div/div[6]/div[1]/div/div/div/div[5]/pre")
public WebElement element;

我也看到过一些关于使用 setValue 来实现此目的的内容,但还没有找到关于如何实现的明确答案?任何帮助表示赞赏。谢谢。

最佳答案

要让 selenium 检测键盘事件,您首先必须使 codemirror 成为焦点。

你可以这样做:

/* getting codemirror element */
WebElement codeMirror = driver.findElement(By.className("CodeMirror"));

/* getting the first line of code inside codemirror and clicking it to bring it in focus */
WebElement codeLine = codeMirror.findElements(By.className("CodeMirror-line")).get(0);
codeLine.click();

/* sending keystokes to textarea once codemirror is in focus */
WebElement txtbx = codeMirror.findElement(By.cssSelector("textarea"));
txtbx.sendKeys("Hello World");

关于javascript - 如何使用 selenium 在 Code Mirror 行中输入文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44054500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com