消息:元素不可交互

时间:2019-07-23 15:11:36

标签: selenium

我正在尝试在网站上的文本字段中输入字符串,这给我一个错误。

我尝试获取确切的元素,它也是父元素。对于每一个,我都尝试使用XPath,ID和名称来定位它们,但是没有成功。

这是我尝试过的一些例子。

<td><input type="text" name="username" autofocus="" required="" id="id_username" maxlength="254">
<div class="formvalidate_spinner formvalidate_hidden" id="username_spinner">
<img src="/static/formvalidateassets/spinner.gif">
</div>
</td>
driver.find_element_by_xpath('//*[@id="main"]/div[3]/div/form/fieldset/table/tbody/tr[1]/td').send_keys("username").send_keys("username")
driver.find_element_by_xpath('//*[@id="id_username"]').send_keys("username")
driver.find_element_by_id('id_username').send_keys("username")

我希望在输入字段中插入一个给定的用户名,但是无论我如何尝试,给出的错误都是selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互

1 个答案:

答案 0 :(得分:0)

使用WebDriverWait并等待element_to_be_clickable并插入username

WebDriverWait(driver,30).until(EC.element_to_be_clickable((By.ID,'id_username'))).send_keys('username')

您需要导入以下内容以执行上述代码。

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