Python 我的selenium代码不工作,并且给出了元素不可交互的错误

Python 我的selenium代码不工作,并且给出了元素不可交互的错误,python,selenium,Python,Selenium,我尝试了从waits到xpath的所有方法,但不知怎么的,它都不起作用,我想用id在页面的输入字段中输入一些值,但它不可交互,任何帮助都将不胜感激 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expect

我尝试了从waits到xpath的所有方法,但不知怎么的,它都不起作用,我想用id在页面的输入字段中输入一些值,但它不可交互,任何帮助都将不胜感激

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

driver = webdriver.Chrome()
driver.get("https://voip.ms/login")

wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.XPATH,   '//input[@id="username"]')))
element.click()

您不需要单击输入字段,而是直接
发送\u keys()
用户名。但是,似乎有两个输入字段带有
id=“username”
,您选择的第一个字段不是您想要的

解决方法是使用
驱动程序获取这两个元素。通过xpath()获取元素,然后选择第二个(这不是最佳做法,相反,您应该为输入字段找到唯一标识符)。以下是获取这两个元素并选择第二个的示例:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://voip.ms/login")
element = driver.find_elements_by_xpath('//input[@id="username"]')[1]
element.send_keys('your username')

非常感谢你,从过去6个小时以来,我一直在拉扯头发,几乎快要崩溃了。你是救世主。