首页 > 解决方案 > [Python][Selenium]“.find_element_by_class_name.click()”上的错误

问题描述

下面写的是我的 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()

标签: pythonseleniumclickselenium-chromedriver

解决方案


你的问题可以用 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')

推荐阅读