【问题标题】:Getting Element Not Interactable Exception after attempting to insert search query into YouTube input field尝试将搜索查询插入 YouTube 输入字段后获取元素不可交互异常
【发布时间】:2022-12-04 12:58:18
【问题描述】:

我刚刚开始探索 Python 和自动化测试 想要创建一个快速脚本,它将:

  • 打开 YouTube 页面
  • 找到我将插入搜索查询的搜索输入字段
  • 在字段中插入搜索查询
  • 按下按钮接收搜索结果

不幸的是我遇到了一个错误: “selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互”

请协助

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

link = "https://www.youtube.com/"

browser = webdriver.Chrome()

browser.get(link)

search_string = browser.find_element(By.XPATH, "/html/body/ytd-app/div[1]/div/ytd-masthead/div[3]/div[2]/ytd-searchbox/form/div[1]/div[1]/div/div[2]/input")

search_string.send_keys("Test search input")

button = browser.find_element(By.XPATH, '/html/body/ytd-app/div[1]/div/ytd-masthead/div[3]/div[2]/ytd-searchbox/button')

button.click()

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    除了使用 absolute xpath 搜索 Input field,您还可以使用元素的 id propertiessearch 并类似地单击搜索图标来解决错误。

    笔记:- 我们必须指定 input tagid,因为该页面包含几个带有 id as as search 的元素

    你的解决方案看起来像

    link = "https://www.youtube.com/"
    browser.get(link)
    browser.maximize_window()
    browser.find_element(By.CSS_SELECTOR, "input#search").send_keys("Test 
    search input")
    button = browser.find_element(By.ID, 'search-icon-legacy')
    button.click()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多