Всем, доброе время суток!
Пишу тут впервые, поэтому не судите строго. Есть проблема, с помощью Selenium Webdriver (немного пишу на Java) не могу ввести текст в редактор tinymce. Есть следующий код страницы:
WebElement body = driver.findElement(By.cssSelector("#tinymce"));
body.clear();
body.sendKeys("This is a test of the mce editor\n\nDarrell was here!\n");
WebElement body = driver.findElement(By.xpath(".//*[@id='tinymce']/p"));
body.clear();
body.sendKeys("This is a test of the mce editor\n\nDarrell was here!\n");
В некоторых случаях даже курсор не появляется на нужном месте.
переход был осуществлен driver.switchTo().frame(“news_globalize_translations_attributes_ru_content_ifr”); и драйвер находит все элементы, которые находятся внутри iframe
Я так понимаю после загрузки страницы происходит вызов какого-то js-метода, что он делает? Может там ajax-ом что-то грузится? Думаю стоит для начала попробовать просто sleep поставить секунд на 10, чтоб все активности улеглись
Я практически ничего не понял из данного вопроса, но, как я уже писал, sleep не дает положительного результата.
А куда он должен вводиться? я пробывал вводить в id(“tinymce”) и в cssSelector("#tinymce>p") в первом случае селениум хотябы курсор ставит в необходимен место. во втором данного действия не происходит
Селениум не выдает ошибок, пишет, что тест прошел успешно.
Нет. Тайпать нужно именно в боди - это типичный reach editor. Вот только проблемы с ними у меня встречались исключительно с хромом и сафари.
Полноценно ответить смогу в понедельник. А пока могу посоветовать ТС:
Обновил selenium до 39.0. (FF 26) Все заработало
Рабочий код
driver.switchTo().frame(“news_globalize_translations_attributes_ru_content_ifr”);
driver.findElement(By.id(“tinymce”)).sendKeys(“Text”);
driver.switchTo().defaultContent();