【问题标题】:Python: Selenium write in the text box of a formPython:Selenium 在表单的文本框中写入
【发布时间】:2016-01-08 19:29:28
【问题描述】:

我正在尝试在 here 的文本框中输入内容。右侧的方框显示“在此处粘贴您的文字”。

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

我尝试了类似的方法:

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

感谢您对此提供的任何帮助。

【问题讨论】:

    标签: python python-2.7 selenium selenium-webdriver


    【解决方案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()
    

    【讨论】:

    • 感谢 alecxe,它运行良好。我只需要在我的代码中导入Keys。我非常感谢您对 Python Master 的所有帮助 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多