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]"}


Я ценю любую помощь по этому вопросу.

840   1  

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

    Ничего не найдено.