【问题标题】: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') 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-04-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-30
          • 1970-01-01
          • 1970-01-01
          • 2020-03-08
          相关资源
          最近更新 更多