python-execjs(调用js)
一.安装
pip3 install PyExecJS
电脑上要有nodejs环境
二.使用
一.获取js字符串
首先将js保存至于本地文件或者你可以可以直接读到内存,必须让js以字符串的形式展示
注意点:字符串中不要出现<script>标签的js字符串
二.转换
js_obj = execjs.compile(上面转换的js字符串)
三.调用js对象中的方法
res = js_obj("方法名",参数一,参数二.........)
三.我使用时候的经验
一个js_obj,比如说完成某个留下需要方法一(方法二的返回值(方法三的返回值))
你的代码类似这样
js_obj = execjs.compile(js_str)
res_3 = js_obj("方法三")
res_2 = js_obj("方法二",res_3)
res_1 =js_obj("方法一",res_2)
#结果你会发现res_1并不是你想要的,而逻辑是毫无问题的
这可能是模块的bug导致的
解决方法
在js文件中定义一个三者封装后的函数
function func_1(res_2){......}
function func_2(res_3){......}
function func_3(){......}
//顶一个封装后方法
function my_func(){func_1(func_2(func_3()))}
然后调用我们自定义的方法即可
python-execjs(调用js)的更多相关文章
- 在python中调用js或者nodejs
在python中调用js或者nodejs要使用PyExecJs第三方包. pip install pyexecjs 示例代码 >>> import execjs >>&g ...
- python selenium --调用js
转自:http://www.cnblogs.com/fnng/p/3230768.html 本节重点: 调用js方法 execute_script(script, *args) 在当前窗口/框架 同步 ...
- Selenium with Python 005 - 调用js操作页面元素
WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...
- python爬虫之JS逆向
Python爬虫之JS逆向案例 由于在爬取数据时,遇到请求头限制属性为动态生成,现将解决方式整理如下: JS逆向有两种思路: 一种是整理出js文件在Python中直接使用execjs调用js文件(可见 ...
- python爬虫之JS逆向某易云音乐
Python爬虫之JS逆向采集某易云音乐网站 在获取音乐的详情信息时,遇到请求参数全为加密的情况,现解解决方案整理如下: JS逆向有两种思路: 一种是整理出js文件在Python中直接使用execjs ...
- python 调用js代码
Python2 安装pyv8 pip install-egit://github.com/brokenseal/PyV8-OS-X#egg=pyv8 from pyv8 import PyV8 c ...
- Python 调用JS文件中的函数
Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...
- 最全总结!聊聊 Python 调用 JS 的几种方式
1. 前言 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大 ...
- python运行execjs解密js
[转]http://www.knowsky.com/1041161.html python 记一次计算qzonetoken经历 之前用python写了个发表说说的爬虫,但最近发现在post数据时返回不 ...
- python之selenium调用js(execute_script)
转载: http://www.cnblogs.com/fnng/p/3230768.html 本节重点: 调用js方法 execute_script(script, *args) 在当前窗口/框架 同 ...
随机推荐
- 原生js实现on和emit
let obj = {}; const $on = (name,fn)=>{ if(!obj[name]){ obj[name] = []; } obj[name].push(fn); } co ...
- Java题库——Chapter1 计算机、程序和Java概述
1)________ is the physical aspect of the computer that can be seen. A)Hardware B) Operating system C ...
- C# 从图片中截取一部分图片,并返回所截取的图片
/// <summary> /// 从图片中截取一部分图片 /// </summary> /// <param name="fromImagePath" ...
- Cobalt Strike系列教程第五章:截图与浏览器代理
Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...
- kali安装vmtool后依旧无法拖拽文件,复制粘贴,解决办法
本文链接:https://blog.csdn.net/Key_book/article/details/80310235命令行下 执行 apt-get install open-vm-tools-de ...
- Google Chome浏览器下如何开发UHF读写器
google Chrome浏览器不支持ocx,也就不能通过ocx来连接UHF读写器,只能使用RFID读写器云服务插件,通过javascript语言来连接和操控UHF读写器YW-602H.RFID读写器 ...
- sqlserver查看表空间
sqlserver 用于查看当前数据库所有表占用空间大小的存储过程 create procedure dbo.proc_getsize as begin create table #temp ( t_ ...
- java异常处理机制详解
java异常处理机制详解 程序很难做到完美,不免有各种各样的异常.比如程序本身有bug,比如程序打印时打印机没有纸了,比如内存不足.为了解决这些异常,我们需要知道异常发生的原因.对于一些常见的异常,我 ...
- LeetCode解题笔记 - 1. Two Sum
1. Two Sum Given an array of integers, return indices of the two numbers such that they add up to a ...
- Codeforces Round #598 (Div. 3) D. Binary String Minimizing 贪心
D. Binary String Minimizing You are given a binary string of length n (i. e. a string consisting of ...