python - [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)
---------------------------------------------------------------------------------------------
删除第 8 行和第 9 行
我删除了这些行,因为我认为这些不是必需的。
除此之外,代码没有任何变化。
搜索“迪拜到新加坡步行”
我刚刚在搜索关键字的末尾添加了“步行”。
除此之外,代码没有任何变化。
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()
解决方案
你的问题可以用 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')
推荐阅读
- reactjs - 如何解决 React 和 React-router 中未定义的匹配道具
- python - 如何在我的 lambda 中访问通过 cloudformation 创建的存储桶?
- elasticsearch - elasticsearch 7.9 抛出一个新错误“illegal_argument_exception”,因为文本太大
- javascript - 在下拉列表中使用 jquery
- azure-functions - 无法查看应用服务函数的调用日志
- javascript - 如何动态更改段落中定义的字体大拇指的颜色
- javascript - Ionic React / Capacitor,请求适用于网络版本和邮递员,但不适用于设备
- c# - 如何在子组件中访问父组件类型?
- python - 获取和发布时序列化程序中的 DRF 其他字段
- r - 了解 base::identical() - 为什么它“更安全”?