Python: Selenium запись в текстовом поле формы
Я пытаюсь написать в текстовом поле в здесь. Это коробка, на которой справа написано: "вставьте свой текст сюда".
Я думаю, что мой вопрос заключается в том, как найти элемент, например по идентификатору, из коробки, что я должен отправить текст там в драйвере selenium?
Я попробовал что-то вроде:
item = driver.find_element_by_css_selector("form#text_processor input[name=process_this]")
item.send_key("Test!")
Но когда я делаю это, я получаю следующее сообщение об ошибке:
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"css selector","selector":"form#text_processor input[name=process_this]"}
Я ценю любую помощь по этому вопросу.
1 ответ:
Текстовая область находится внутри
iframe- переключитесь на нее, найдите элемент и отправьте ему ключи:driver.switch_to.frame("textarea_iframe") driver.find_element_by_id("textarea_body").send_keys("test")
Обратите внимание, что для удаления существующего текста в текстовой области достаточно предварительно выделить его все:
text_area = driver.find_element_by_id("textarea_body") text_area.send_keys(Keys.CONTROL, "a") # or Keys.COMMAND on Mac text_area.send_keys("test")
Кроме того, если вам нужно вернуться к основному контенту, используйте:
driver.switch_to.default_content()
Comments