首页 > 解决方案 > selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互使用 Selenium Python 将文本发送到名字字段

问题描述

通过 Selenium,我尝试在一个受欢迎的网站上输入用户名,但是由于某种我不明白的原因,这不起作用。一切都打开了,在所需的输入字段上发生了一次点击,但在尝试输入文本时立即出现错误。这是我的代码:

webdriverDir = "./chromedriver.exe"  
home_url = 'https://appleid.apple.com/account/'

browser = webdriver.Chrome(executable_path=webdriverDir)
browser.get(home_url)
elem = browser.find_element_by_id("firstNameInput")
elem.click()
elem.send_keys('namename')
time.sleep(5)

我还尝试将解决方案更改为此:

browser.find_element_by_id("firstNameInput").send_keys("namename")

但它也不起作用。我不明白这是怎么回事。也试过了xpathclass_namecss_selector。结果要么相同,要么根本没有检测到元素。尽管所有内容都是从控制台的元素代码中复制的。

错误代码:

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

哪里会出错?或者它可以是网站本身?

标签: python-3.xseleniumxpathcss-selectorswebdriverwait

解决方案


带有 id 的元素firstNameInput不是输入,它是自定义标签,您的send-keys命令无法访问该元素。

您要做的是访问父元素中存在的输入。

driver.find_element_by_css_selector("#firstNameInput input").send_keys('hello')

在此处输入图像描述


推荐阅读