如何find_element(By.XPATH)并在selenium中发送密钥?

rus*_*shi 0 python selenium xpath google-chrome webdriver

尝试更新我的代码以使用"driver.find_element(By.XPATH..."而不是"driver.find_elements_by_xpath(...",但当我发送密钥时,我不断收到以下错误:

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

driver = webdriver.Chrome(PATH)
link_login = "https://www.wyzant.com/tutor/jobs"

driver.get(link_login)

username_input = driver.find_element(By.XPATH, "//*[@id='Username']")[1]
username_input.send_keys("Test")
Run Code Online (Sandbox Code Playgroud)

Hed*_*Hog 6

使用find_elements而不是像find_element在示例中那样选择元素:

driver.get('https://www.wyzant.com/tutor/jobs')
username_input = driver.find_elements(By.XPATH, "//*[@id='Username']")[1]
username_input.send_keys("Test")
Run Code Online (Sandbox Code Playgroud)

或更改您的 xpath 以选择更具体的'//form[@class="sso-login-form"]//*[@id="Username"]'

driver.get('https://www.wyzant.com/tutor/jobs')
username_input = driver.find_element(By.XPATH, '//form[@class="sso-login-form"]//*[@id="Username"]')
username_input.send_keys("Test")
Run Code Online (Sandbox Code Playgroud)