execjs执行js代码报错:Exception in thread Thread-1

最近在爬一个js数据加密的网站的时候,出了点问题,困扰了我两天

直接运行js文件的时候正常,但是用execjs运行js代码的时候总是会报错

最后翻了很多博客之后,终于找到了原因:原因是有一个程序在使用TextIOWrapper 类创建对象时默认使用了gbk编码,读取不了utf-8的字符,
所以我们可以修改下 subprocess.py 文件的默认编码方式为utf-8即可

图中本来是encoding=None,修改成encoding=‘utf-8‘

运行成功,完美

原文地址:https://www.cnblogs.com/lattesea/p/11774885.html

时间: 2024-10-08 03:22:04

execjs执行js代码报错:Exception in thread Thread-1的相关文章

python3用execjs执行JS代码

JS运行环境 Node.js 是Javascript语言服务器端运行环境 安装和配置:https://www.runoob.com/nodejs/nodejs-install-setup.html 测试运行 测试运行JavaScript程序 微软windows操作系统:附件-命令提示符 需进入到js程序的目录下,node命令+js文件名运行程序 调用方法 JS文件 // 函数 function getnow(){ var timestamp=new Date().getTime(); retur

python 用execjs执行js代码

js运行环境 Node.js是JS语言服务器端运行环境 安装和配置 : https://www.runoob.com/nodejs/nodejs-install-setup.html 使用方法: 准备js文件 var f = function(name) { return name + '你好' }; var name = 'zhangjian'; python操作js import execjs # 读取js文件 with open('js.js', encoding='utf8') as f

java中执行js代码

要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,否则会报错 先新建一个js文件:jsss.js 内容如下: function aa(a,b){ return a+b; } 然后在java中写代码: public class ZipTest { public static void main(String[] args) throws Exception { ScriptEngineManager manager = new ScriptEngineMa

Python自动化之下拉框,隐藏标签定位 代码&报错解决

python自动化:下拉框定位方法之select标签 style="display: none;"报错selenium.common.exceptions.ElementNotVisibleException: Message: element not visible: Element is not currently visible and may not be manipulated 界面源码:(禅道为例)排查:1)因为是隐藏的,需要操作其可见才可定位 2)若还是无法定位,请查看前

Eclipse中导入项目Js文件报错

在Eclipse中导入项目时js文件报错,解决的方法是关闭eclipse的js校验功能. 1. 选择window->preferences->JavaScript->Validator->Errors/Warning,将Enable JavaScript Sematic validation前面的钩去掉. 打开项目文件中的.project文件,把下面的代码去掉 <buildCommand> <name>org.eclipse.wst.jsdt.core.ja

JS请求报错:Unexpected token T in JSON at position 0

<?php /* 最近做一个ajax validate表单验证提交的代码,在ajax提交的时候 JS请求报错:Unexpected token T in JSON at position 0 描述: 这是一个请求,参数的地方报这要的错,请问是为什么? 百思不得其解啊 解决方案1: 去看下json的格式要求,JSON.parse()方法对json串要求很严格 解决方案2: http://www.bejson.com/ 用这个网址测试试试json格式是不是有误,换行,单引号什么的会导致报错,格式要求

Sphinx/Coreseek 4.1 执行 buildconf.sh 报错,无法生成configure文件

参考的网址: http://blog.csdn.net/jcjc918/article/details/39032689 错误现象: 执行 buildconf.sh 报错,无法生成configure文件 报错的代码 automake: warnings are treated as errors /usr/share/automake-1.13/am/library.am: warning: 'libstemmer.a': linking libraries using a non-POSIX

eclipse中的js文件报错的解决办法

在使用别人的项目的时候,导入到eclipse中发现js文件报错,解决办法是关闭eclipse的js校验功能. 三个步骤: 1. Eclipse代码   右键点击项目->properties->Validation->Errors/Warming 将Enable Javascript Sematic validation前面的钩子去掉 2.打开.project 文件下面代码去掉 Eclipse代码   <buildCommand> <name>org.eclipse

Java代码报错[收集整理]

1. com.ibatis.common.jdbc.exception.NestedSQLException: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/visec/fileIssue/domain/fileIssue.xml. --- The error occurred while applying a parameter map. --- Check the file