selenium 执行js后拿不到返回值的原因
2023-12-14 14:59:47
1.js代码报错,可以把代码放到浏览器控制台中执行查看具体报错信息;
2.如果js中使用了ajax调用,最后return出去请求的结果值,记得把参数async设置为false;async默认设置为true,如果你的返回结果在请求的后面程序不会等待ajax请求返回就会执行完毕,会直接执行ajax后面的语句进行返回。
下面看一个简单的示例:
js = """
function getdata(){
var result;
$.ajax({
url:'url',
type:'post',
data:"参数",
async:false,
success:function(res){
result = res;
},error:function(err){
console.log('err')
}
});
return result;
}
return getdata();
"""
get_data = browser.execute_script(js);
文章来源:https://blog.csdn.net/ljllxk001/article/details/134860448
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!