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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。