Как выбрать эту текстовую область? - PullRequest
0 голосов
/ 25 мая 2018

Мне нужно поместить курсор в элемент textarea с помощью Selenium.Элемент не имеет идентификатора.Я пытался:

eventDriver.findElement(By.cssSelector("textarea[class*=\"CodeMirror\"")).click();

и он выбрасывает NoSuchElementException

enter image description here

Web Page and underlying code

1 Ответ

0 голосов
/ 25 мая 2018

textarea не имеет @class - это атрибут предка div.Вместо этого попробуйте следующий код:

eventDriver.findElement(By.cssSelector("div.CodeMirror textarea")).click();

или с ExplicitWait:

WebDriverWait wait = new WebDriverWait(eventDriver,10);

wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("div.CodeMirror textarea"))).click();

Обновление

WebElement element = eventDriver.findElement(By.cssSelector("div.CodeMirror textarea"))
JavascriptExecutor jse = ((JavascriptExecutor)eventDriver);
jse.executeScript("arguments[0].click()", element);
...