尝试使用 Selenium,但出现此错误:“UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 1 中的字节 0xa0:无效起始字节”

问题描述 投票:0回答:1

所以我是 Selenium 的新手,我只是想运行一个简单的测试来看看它是否有效。安装所有必要的软件包(并处理其他一些错误)后,出现此消息。

我的代码:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))

driver.get('https://www.udemy.com/')
title = driver.title

assert "Udemy" in title

在终端,它说我的错误从这里开始:

Traceback (most recent call last):
  File "C:\Users\sindri-21\PycharmProjects\Personal Project - Creating dictionaries\webdriver\tests.py", line 5, in <module>
    driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

然后:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 1: invalid start byte

有什么解决办法吗?

python selenium-webdriver utf-8 pycharm selenium-chromedriver
1个回答
0
投票

UnicodeDecodeError 是由于 Unicode 编码或解码问题造成的。当程序尝试将字节字符串解码为 UTF-8 但字符串中存在与此编码不兼容的字节时,通常会发生此错误。

修复此错误的可能方法之一是更改 WebDriver Manager 安装路径或更改与运行代码的环境相关的设置。

使用WebDriver管理器: 确保 webdriver_manager 是最新的。您可以在Python环境中运行以下命令来更新软件包:

pip install --upgrade webdriver-manager

不要使用 WebDriver Manager,而是手动设置 WebDriver 路径:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

driver = webdriver.Chrome(service=Service('path_to_chromedriver'))
driver.get('https://www.udemy.com/')
title = driver.title
assert "Udemy" in title

您的 Chrome 驱动程序的地址应位于以下路径中: “C:/Users/您的用户名/.wdm/drivers/chromedriver/win64/您的 驱动程序版本/chromedriver-win32/chromedriver.exe”

© www.soinside.com 2019 - 2024. All rights reserved.