【问题标题】:Getting error:(Element not interactable) when sending keys into the input field in selenium python将键发送到 selenium python 中的输入字段时出现错误:(元素不可交互)
【发布时间】:2020-10-11 16:43:57
【问题描述】:
当我尝试将键发送到输入字段时出现错误(元素不可交互)。当我尝试仅单击输入字段时,我可以执行此操作,但是在给出文本时显示错误,我有很多事情要解决,但我只收到此错误。
我的代码:
from selenium import webdriver
Driver=webdriver.Chrome()
Driver=get('https://YouTube.com')
Box=Driver.find_element_by_xpath('//*[@id="search-input"]')
Box.send_keys('music') ```
【问题讨论】:
标签:
python
selenium
webdriver
【解决方案1】:
试试看:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
Driver=webdriver.Chrome()
Driver=get('https://YouTube.com')
Box=Driver.find_element_by_xpath('/html/body/ytd-app/div/div/ytd-masthead/div[3]/div[2]/ytd-searchbox/form/div/div[1]/input')
Box.send_keys('music')
【解决方案2】:
将元素发送到搜索框。首先诱导等待元素由于页面加载而可点击。
Box=WebDriverWait(Driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#search")))
Box.send_keys('music')
导入
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
【解决方案3】:
搜索栏是 div 类(search-input) 中的输入(id=search)。试试这个;
from selenium import webdriver
Driver=webdriver.Chrome()
Driver.get('https://YouTube.com')
Box=Driver.find_element_by_id('search-input').find_element_by_id('search')
Box.send_keys('music')