Python Selenium不会键入textarea并引发ElementNotInteractiableException

Python Selenium不会键入textarea并引发ElementNotInteractiableException,python,selenium,xpath,css-selectors,webdriverwait,Python,Selenium,Xpath,Css Selectors,Webdriverwait,这是有问题的HTML代码: <textarea rows="1" cols="1" name="text" class=""></textarea> 代码执行了,什么也没发生。我假设它选择了textarea,但没有在其中键入任何内容?或者什么也没发生。它还会找到元素,因此我假设不需要等待textarea可见。 当我不使用js并且只使用 msgElem = driver.find_element_by_css_selector("textarea[name='text']

这是有问题的HTML代码:

<textarea rows="1" cols="1" name="text" class=""></textarea>
代码执行了,什么也没发生。我假设它选择了textarea,但没有在其中键入任何内容?或者什么也没发生。它还会找到元素,因此我假设不需要等待textarea可见。 当我不使用js并且只使用

msgElem = driver.find_element_by_css_selector("textarea[name='text']")
msgElem.send_keys('Whats up mate, how you doin')
它给我ElementNotInteractiableException

此错误消息

ElementNotInteractableException
…意味着WebDriver实例无法与所需的元素进行交互

分析 您使用的实际标识了中的两个元素,并且第一个匹配元素的父元素包含属性style=display:none,如下所示:

<form action="#" class="usertext cloneable warn-on-unload" onsubmit="return post_form(this, 'comment')" style="display:none" id="form-dyo">
    <input type="hidden" name="thing_id" value="">
    <div class="usertext-edit md-container" style="">
        <div class="md">
            <textarea rows="1" cols="1" name="text" class=""></textarea>
        </div>
使用XPATH:

注意:您必须添加以下导入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

为这个HTML添加真实的URL,并创建最小的工作代码,以便我们可以运行它并查看问题。
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "span.title + div textarea[name='text']"))).send_keys("Sowik")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[text()='message']//following::div[1]//textarea[@name='text']"))).send_keys("Sowik")
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC