Python:Selenium 在表单的文本框中写入

TJ1*_*TJ1 3 python selenium python-2.7 selenium-webdriver

我正在尝试在此处的文本框中书写。它是右侧的框,上面写着“将您的文本粘贴到此处”。

我想我的问题是如何找到我应该在 selenium 驱动程序中发送文本的框的项目,例如通过 id ?

我试过类似的东西:

item = driver.find_element_by_css_selector("form#text_processor input[name=process_this]")
item.send_key("Test!")
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到此错误消息:

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]"}
Run Code Online (Sandbox Code Playgroud)

我很感激这方面的任何帮助。

ale*_*cxe 8

文本区域位于iframe- 切换到它,找到元素并将键发送给它:

driver.switch_to.frame("textarea_iframe")
driver.find_element_by_id("textarea_body").send_keys("test")
Run Code Online (Sandbox Code Playgroud)

请注意,要删除文本区域中的现有文本,只需预先全选即可:

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")
Run Code Online (Sandbox Code Playgroud)

此外,如果您需要返回主要内容,请使用:

driver.switch_to.default_content()
Run Code Online (Sandbox Code Playgroud)