硒:将Enter命令发送到文本框给出未知错误:意外命令响应

发布于 2025-02-12 03:52:23 字数 1900 浏览 1 评论 0原文

嗨,我是新来的Selenium,我尝试从网站的文本框中搜索

我的代码:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

import time

PATH="C:\Program Files (x86)\chromedriver.exe"
s=Service(PATH)
driver = webdriver.Chrome(service=s)
url='https://www.techwithtim.net/'
driver.get(url)
print(driver.title)
search=driver.find_element(by=By.NAME, value="s")
search.send_keys("test")
search.send_keys(Keys.ENTER)

time.sleep(5)
driver.close() #driver

该程序可以搜索,但是它在search.send_keys(keys.enter)行中引发了一个错误并退出代码。

我不能为您提供所有错误,因为这个网站不允许我不知道,

所以某些错误:


File "C:/Users/User/PycharmProjects/us1/selen.py", line 16, in <module>
    search.send_keys(Keys.ENTER)
  File "C:\Users\User\PycharmProjects\us1\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 223, in send_keys
    self._execute(Command.SEND_KEYS_TO_ELEMENT,
  File "C:\Users\User\PycharmProjects\us1\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 396, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\User\PycharmProjects\us1\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 435, in execute
    self.error_handler.check_response(response)
  File "C:\Users\User\PycharmProjects\us1\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
 raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot determine loading status
from unknown error: unexpected command response
  (Session info: chrome=103.0.5060.66)
Stacktrace:
Backtrace:
    Ordinal0 [0x00F36463+2188387]
    Ordinal0 [0x00ECE461+1762401]
    Ordinal0 [0x00DE3D78+802168]
    Ordinal0 [0x00DD7210+750096]
.
.
.

Hi guys i am new on selenium i tried to search from website's textbox

There is my code:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

import time

PATH="C:\Program Files (x86)\chromedriver.exe"
s=Service(PATH)
driver = webdriver.Chrome(service=s)
url='https://www.techwithtim.net/'
driver.get(url)
print(driver.title)
search=driver.find_element(by=By.NAME, value="s")
search.send_keys("test")
search.send_keys(Keys.ENTER)

time.sleep(5)
driver.close() #driver

The program is able to search, but it throws an error at the search.send_keys(Keys.ENTER) line and exits the code.

I can't give all error for you because of this website doesn't allow i don't know

so some of the error:


File "C:/Users/User/PycharmProjects/us1/selen.py", line 16, in <module>
    search.send_keys(Keys.ENTER)
  File "C:\Users\User\PycharmProjects\us1\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 223, in send_keys
    self._execute(Command.SEND_KEYS_TO_ELEMENT,
  File "C:\Users\User\PycharmProjects\us1\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 396, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\User\PycharmProjects\us1\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 435, in execute
    self.error_handler.check_response(response)
  File "C:\Users\User\PycharmProjects\us1\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
 raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot determine loading status
from unknown error: unexpected command response
  (Session info: chrome=103.0.5060.66)
Stacktrace:
Backtrace:
    Ordinal0 [0x00F36463+2188387]
    Ordinal0 [0x00ECE461+1762401]
    Ordinal0 [0x00DE3D78+802168]
    Ordinal0 [0x00DD7210+750096]
.
.
.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

慵挽 2025-02-19 03:52:23

因此,我在桌面上遇到了相同的错误,事实证明,这与版本不匹配有关。

我的Chrome版本是

Version 103.0.5060.66 (Official Build) (64-bit)

这样,所以我将Chrome驱动程序更新到版本,

103.0.5060.53

您可以尝试相应地更新Chrome和Chrome驱动程序。

  • 如果您使用的是Chrome版本104,请下载Chromedriver 104.0.5112.20

  • 如果您使用的是Chrome版本103,请下载Chromedriver <代码> 103.0.5060.53

  • 如果您使用的是Chrome版本102,请下载Chromedriver <代码> 102.0.5005.61

Chrome驱动程序下载链接

您可以在此处检查您的Chrome版本Chrome:// settings/help

一旦更新,以下代码应正常工作

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

chrome_path = r"C:\Users\hpoddar\Desktop\Tools\chromedriver_win32\chromedriver.exe"
s = Service(chrome_path)
url = 'https://www.techwithtim.net/'
driver = webdriver.Chrome(service=s)
driver.get(url)
time.sleep(5)
driver.maximize_window()
search=driver.find_element(by=By.CLASS_NAME, value="search-field")

So I faced the same error on my desktop, turns out that this has something to do with version mismatch.

My chrome version was

Version 103.0.5060.66 (Official Build) (64-bit)

So I updated my chrome driver to version

103.0.5060.53

You can try updating your chrome and chrome driver accordingly.

  • If you are using Chrome version 104, please download ChromeDriver 104.0.5112.20

  • If you are using Chrome version 103, please download ChromeDriver 103.0.5060.53

  • If you are using Chrome version 102, please download ChromeDriver 102.0.5005.61

Chrome Driver download link

You can check your chrome version here chrome://settings/help

Once updated, the below code should work fine

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

chrome_path = r"C:\Users\hpoddar\Desktop\Tools\chromedriver_win32\chromedriver.exe"
s = Service(chrome_path)
url = 'https://www.techwithtim.net/'
driver = webdriver.Chrome(service=s)
driver.get(url)
time.sleep(5)
driver.maximize_window()
search=driver.find_element(by=By.CLASS_NAME, value="search-field")
分開簡單 2025-02-19 03:52:23

您必须根据安装的Chrome版本从下面的路径下载Chrome Driver EXE,并使用相应的Chrome驱动程序。 Selenium在Chromedriver.exe上工作。您必须下载Chrome Driver EXE并将其粘贴到计算机中,并且必须在路径上提供Chrome Driver Exe的位置。

https://chromedriver.chromium.org/downloads
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
driver.get("https://www.techwithtim.net/")

You have to download chrome driver exe from below path as per installed chrome version and use the respective chrome driver. Selenium works on chromedriver.exe. You have to download the chrome driver exe and paste it in your computer and in path you have to give location of the chrome driver exe.

https://chromedriver.chromium.org/downloads
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
driver.get("https://www.techwithtim.net/")
硪扪都還晓 2025-02-19 03:52:23

当我今天得到意外命令响应时,解决方案只是等待1秒,然后将任何硒命令发送到Chrome浏览器。似乎浏览器需要片刻才能进行热身,然后才能准备好接收命令。

When I got the unexpected command response today, the solution was just to wait for 1 second before sending any Selenium commands to the Chrome browser. It seems the browser needed a moment to warm up before being ready to receive commands.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文