【问题标题】:[Python][Selenium] Error on ".find_element_by_class_name.click()"[Python][Selenium]“.find_element_by_class_name.click()”上的错误
【发布时间】:2019-11-10 13:17:47
【问题描述】:

下面写的是我的 Python Selenium 测试代码。它在 google.com 上搜索“迪拜到新加坡”。效果很好。

但是,当我将代码修改为以下两种方式时,我遇到了以下错误:

---------------------------------------------------------------------------------------------
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
(Session info: chrome=78.0.3904.97)
---------------------------------------------------------------------------------------------
  1. 删除第 8 行和第 9 行

    我删除了这些行,因为我认为这些不是必需的。

    除此之外,代码没有任何变化。

  2. 搜索“迪拜到新加坡步行”

    我刚刚在搜索关键字的末尾添加了“步行”。

    除此之外,代码没有任何变化。

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

driver = webdriver.Chrome()
driver.get("https://www.google.com/en")

driver.find_element_by_name("q").send_keys("Dubai to singapore")
print(driver.find_element_by_name("btnK").get_attribute("value")) #print: Google Search
print(driver.find_element_by_name("btnI").get_attribute("value")) #print: I'm feeling lucky
search_button = driver.find_element_by_name("btnK")
search_button.click()

【问题讨论】:

    标签: python selenium click selenium-chromedriver


    【解决方案1】:

    你的问题可以用 PyAutoGUI 解决(一定要先安装)

    from selenium import webdriver
    import pyautogui
    
    driver = webdriver.Chrome()
    driver.get("https://www.google.com/en")
    
    driver.find_element_by_name("q").send_keys("Dubai to singapore by walking")
    pyautogui.keyDown('enter')
    

    【讨论】:

      【解决方案2】:

      出现此问题是因为search_button = driver.find_element_by_name("btnK") 因列表而被隐藏。如果你想解决这个问题,请参考下面的代码。

      from selenium import webdriver
      from selenium.webdriver.common.keys import Keys
      driver = webdriver.Chrome(executable_path=r"C:\chromedriver.exe")
      
      driver.set_page_load_timeout("10")
      driver.get("http://google.com")
      element=driver.find_element_by_name("q")
      element.send_keys("Dubai to singapore")
      element.send_keys(Keys.RETURN);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-24
        • 2018-01-20
        • 2020-12-22
        • 2017-04-11
        • 1970-01-01
        相关资源
        最近更新 更多