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

时间:2015-10-11 06:15:10

标签: python python-2.7 selenium selenium-webdriver

我正在尝试在 here 的文本框中书写。它是右边的方框,上面写着"在这里粘贴你的文字"。

我想我的问题是如何找到项目,例如通过id,我应该在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 个答案:

答案 0 :(得分:2)

文本区域在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()