我尝试按元素名称搜索: login_form = driver.find_element_by_name('用户名') login_form.click()
收到此错误:
selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互
该如何解决?
答案 0 :(得分:0)
您必须引入明确的等待,直到该元素可交互之后再单击它。试试这个:
login_form = WebDriverWait(driver, 20).until(
EC.element_to_be_clickable((By.NAME, "username")))
login_form.click();
注意:在代码中添加以下导入内容:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
答案 1 :(得分:0)
发生此错误是由于找不到正确的元素,因为页面未正确加载。因此,您可以花一些时间使用以下任一语句来加载页面。
1)time.sleep(10) 2)driver.implicitly_wait(10)
import time
user_name = "demo.wxyz@gmail.com"
password = "xyz"
login = driver.find_element_by_id("LoginForm_email")
loing_passwd = driver.find_element_by_id("LoginForm_password")
time.sleep(10)
driver.implicitly_wait(10)
login.send_keys(user_name)
login_passwd.send_keys(password)
答案 2 :(得分:0)
我解决了:
import time
time.sleep(2)