Hur man simulerar tangenttryckning på ett frame-objekt i TypeScript? (använd inte sendKeys-metoden, den fungerar inte)


Jag vill sätta en sträng till detta objekt men kan inte göra det med metoden sendKeys(string1).

Också när jag klickar på objektet är markören där, men jag vet inte hur man simulerar tangenttryckningar (kom ihåg att markören redan är där).

klass :

// ...
this.title = element(by.css("[style='width: 100%; height: 100%;'][title='Rich Text Editor, ABSTRACT_TITLE']"));
this.abstractBody = element(by.css("[style='width: 100%; height: 100%;'][title='Rich Text Editor, SECTION_TEXT0']"));
// ...

ringer från huvud

await obj_s1aSite.submisionCenter.title.click();
await browser.sleep(500);
await obj_s1aSite.submisionCenter.title.sendKeys(string2);
await browser.sleep(500);
await obj_s1aSite.submisionCenter.abstractBody.click();
await browser.sleep(500);
await obj_s1aSite.submisionCenter.abstractBody.sendKeys('Random');
await browser.sleep(500);

original inspektera element ser ut som :

<iframe src="" frameborder="0" class="cke_wysiwyg_frame cke_reset" style="width: 100%; height: 100%;" title="Rich Text Editor, ABSTRACT_TITLE" aria-describedby="cke_35" tabindex="0" allowtransparency="true" data-gramm_id="ed7b95b9-5ec6-02d3-0d65-07470af24cf1" data-gramm="true" gramm-ifr="true" spellcheck="false"></iframe>

(använd inte sendKeys-metoden, den fungerar inte i det här fallet)

Jag förväntar mig att iframe-objektet (ser ut som en redigeringsruta) innehåller den lämpligt inställda strängen.

Svar #1

Jag hittade lösningen och den är enkel. Vi behöver bara utföra åtgärderna i följd på detta sätt:

await browser.actions().mouseMove(obj_s1aSite.submisionCenter.abstractBody).click().sendKeys("Random").perform();

Och det kommer att sätta sträng i iframe.