当前位置: 首页 > 知识库问答 >
问题:

Python3硒PhantomJS UnicodeDecodeError

拓拔坚
2023-03-14

>

  • 环境

    幻影JS2。1.1;窗口10;硒-3.8.0;蟒蛇3

    代码

    browser = webdriver.PhantomJS() //throw a UnicodeDecodeError   
    

    问题

    UnicodeDecodeError:'utf-8'编解码器无法解码位置2的字节0xbd:无效的开始字节

    细节

    回溯(最近一次调用):文件“d:/devtools/phantomjs-2.1.1-windows/bin/IndustryLeaderSpider.py”,第20行,在browser=webdriver中。PhantomJS('D:/PhantomJS.exe')文件“D:\Continuum\Anaconda3\lib\site packages\selenium\webdriver\PhantomJS\webdriver.py”,第58行,在init desired\u capabilities=desired\u capabilities)文件“D:\Continuum\Anaconda3\lib\site packages\selenium\webdriver\remote\html" target="_blank">webdriver.py”,在init self中的第154行。启动会话(所需的会话功能、浏览器配置文件)文件“D:\Continuum\Anaconda3\lib\site packages\selenium\webdriver\remote\webdriver.py”,第243行,在启动会话响应=self中。执行(Command.NEW_SESSION,parameters)文件“D:\Continuum\Anaconda3\lib\site packages\selenium\webdriver\remote\webdriver.py”,第309行,执行响应=self。命令执行者。执行(driver_命令,params)文件“D:\Continuum\Anaconda3\lib\site packages\selenium\webdriver\remote\remote_connection.py”,第460行,执行返回self_请求(命令信息[0],url,正文=数据)文件“D:\Continuum\Anaconda3\lib\site packages\selenium\webdriver\remote\remote\u connection.py”,第522行,在请求响应=opener中。在open response=self中打开(请求,timeout=self.\u timeout)文件“D:\Continuum\Anaconda3\lib\urllib\request.py”,第526行_打开(req,数据)文件“D:\Continuum\Anaconda3\lib\urllib\request.py”,第544行,在“打开”命令中,req)文件“D:\Continuum\Anaconda3\lib\urllib\request.py”,第504行,在“调用链结果=func(*args)文件“D:\Continuum\Anaconda3\lib\urllib\request.py”,第806行,在meth(r,proxy,type))文件“D:\Continuum\Anaconda3\lib\urllib\request.py”,第814行,如果需要,在代理服务器中打开。主机和代理绕过(req.host):代理绕过返回代理绕过注册表(主机)文件“D:\Continuum\Anaconda3\lib\urllib\request.py”第2739行的文件“D:\Continuum\Anaconda3\lib\urllib\request.py”,第2706行的代理绕过注册表fqdn=socket。getfqdn(rawHost)文件“D:\Continuum\Anaconda3\lib\socket.py”,第673行,在getfqdn主机名中,别名为ipaddrs=gethostbyaddr(名称)UnicodeDecodeError:“utf-8”编解码器无法解码位置2:无效起始字节中的字节0xbd

    有人有这个问题吗?如何修复它?

  • 共有1个答案

    景河
    2023-03-14

    您的主要错误似乎是:

    File "D:\Continuum\Anaconda3\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 460, in execute return self._request(command_info[0], url, body=data) File "D:\Continuum\Anaconda3\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 522, in _request resp = opener.open(request, timeout=self._timeout) File "D:\Continuum\Anaconda3\lib\urllib\request.py", line 526, in open response = self._open(req, data)
    

    请尝试以下步骤:

    >

  • 运行CCleaner工具来清除所有的操作系统杂务。
  • 采取系统重启
  • 当您启动PhantomJS()时,请提供phantomjs二进制文件的绝对路径,如下所示:

    driver = webdriver.PhantomJS(executable_path=r'C:\path\to\phantomjs.exe')
    

    确保脚本中没有不必要的导入。示例:urllib。请求

  •  类似资料:
    • 也许有人可以帮助Windows、Python、Selenium和使用Chrome webdriver与ChromePortable。 我定义了一个新文件夹 你知道吗?提前谢谢你,祝你一天愉快安德烈亚斯

    • 下面是Java代码: 和HTML:

    • 基本配置: Docker容器对于我的PHP实例,我安装了Centos和java内部,然后安装了Selenium,但当我尝试启动它时,它给了我一个错误。 CentOS Linux版本7.5.1804(核心) 线程"main"java.lang.UnsupportedClassVersionError中的异常:org/openqa/grid/selenium/GridLauncherV3:不支持maj

    • 我想在元素中找到元素。我的意思是,例如,我找到这个元素,我想从这个元素开始搜索一些元素。我做这个: 但是,据我所知,搜索是从文档初学者开始的。

    • 我们有一个PDF链接,可以通过chrome内置的PDF查看器在浏览器中打开。我们正在尝试验证此PDF中的文本,无需使用PDFBox或将文件下载到本地系统。 我们的尝试使用将“CTRL A”和“CTRL C”(大写和小写版本)发送到浏览器。(这会导致一个大的蓝色框选择,而不是我们在尝试手动复制粘贴时看到的行选择)。我们认为两个命令之间有足够的2秒延迟,但文本内容不会显示在系统剪贴板中(通过粘贴到记事

    • 出现以下错误 下面是代码 下面是代码HTML 我尝试将替换为,但出现相同的错误消息:/