首页 > 解决方案 > Send_keys 函数触发错误消息:'消息:元素不可交互'

问题描述

我正在使用 Selenium 填写此 HTML 表单,但在输入数据时,它显示“元素不可交互”。我可以单击元素,但实际上发送字符串会产生错误。我怎样才能解决这个问题?

driver.get('https://www.masmovil.es/cobertura-fibra-optica-campos/')
prov = Select(driver.find_element_by_xpath('//*[@id="province"]'))
prov.select_by_index(32)
driver.find_element_by_xpath('//*[@id="town"]').send_keys('1')

谢谢!

标签: pythonselenium

解决方案


你可以试试这个css选择器:

input[id='town']

代码

driver.find_element_by_css_selector("input[id='town']").send_keys('1')  

您使用的 xpath(//*[@id="town"])有两个条目:

一种带mm-ui-autocomplete标签,一种带input标签。

始终优先选择 css 选择器而不是 xpath。它比 xpath 更稳定。

如果您不想使用 css 选择器,那么您可以像这样使用 xpath:

//input[@id='town']  

代码 :

driver.find_element_by_xpath("//input[@id='town']").send_keys('1')

推荐阅读