首页 > 编程知识 正文

python如何调用js,python如何调用js函数

时间:2023-12-28 11:56:54 阅读:327975 作者:MISD

本文目录一览:

如何在 python 里运行 js 代码

js代码为什么要在python里运行?可以直接在浏览器的开发者工具里运行啊

当然如果你强行要运行的话,一定是有第三方库什么能运行的吧

python selenium 怎么操作js代码

调用js方法

execute_script(script, *args)

在当前窗口/框架 同步执行javaScript

脚本:JavaScript的执行。

*参数:适用任何JavaScript脚本。

使用:

driver.execute_script(‘document.title’)

使快播登陆用户名输入框标红显示:

#coding=utf-8

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get("")

#给用户名的输入框标红

js="var q=document.getElementById("user_name");q.style.border="1px solid red";"

#调用js

driver.execute_script(js)

time.sleep(3)

driver.find_element_by_id("user_name").send_keys("username")

driver.find_element_by_id("user_pwd").send_keys("password")

driver.find_element_by_id("dl_an_submit").click()

time.sleep(3)

driver.quit()

js解释:

q=document.getElementById("user_name")

元素q的id 为user_name

q.style.border="1px solid red

元素q的样式,边框为1个像素红色

如何用python爬取js动态生成内容的页面

抓取js动态生成的内容的页面有两种基本的解决方案

1用dryscrape库动态抓取页面

js脚本是通过浏览器来执行并返回信息的,所以,抓取js执行后的页面,一个最直接的方式就是用python模拟浏览器的行为。WebKit 是一个开源的浏览器引擎,python提供了许多库可以调用这个引擎,dryscrape便是其中之一,它调用webkit引擎来处理包含js等的网页!

2 selenium web测试框架

selenium是一个web测试框架,它允许调用本地的浏览器引擎发送网页请求,所以,它同样可以实现抓取页面的要求。

js 和 python怎么交互

python取得javascript里面的值

复制代码代码如下:

import PyV8

with PyV8.JSContext() as env1:

env1.eval("""

var_i = 1;

var_f = 1.0;

var_s = "test";

var_b = true;

""")

vars = env1.locals

var_i = vars.var_i

print var_i

javascript取得python里面的值

复制代码代码如下:

import PyV8

with PyV8.JSContext() as env1:

env1.securityToken = "foo"

env1.locals.prop = 3

print int(env1.eval("prop"))

python和javascript里面的函数交互

python调用javascript里面的函数python调用func就可以使用js里面的function函数了

复制代码代码如下:

import PyV8

with PyV8.JSContext() as ctxt:

func = ctxt.eval("""

(function ()

{

function a()

{

return "abc";

}

return a();

})

""")

print func()

这样也可以

复制代码代码如下:

import PyV8

with PyV8.JSContext() as ctxt:

func = ctxt.eval("""

function a()

{

return "abc";

}

function c()

{

return "abc";

}

""")

a = ctxt.locals.a

print a()

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。