selenium 执行js后拿不到返回值的原因

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);

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 08:14:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 08:14:01       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 08:14:01       82 阅读
  4. Python语言-面向对象

    2023-12-08 08:14:01       91 阅读

热门阅读

  1. 【脚本】图片-音视频-压缩文件处理

    2023-12-08 08:14:01       45 阅读
  2. Linux修复磁盘坏道,重新挂载硬盘

    2023-12-08 08:14:01       44 阅读
  3. Gateway

    Gateway

    2023-12-08 08:14:01      54 阅读
  4. 【Android Audio Focus 音频焦点】

    2023-12-08 08:14:01       71 阅读
  5. 阿里云CDN架构接入WAF应用防火墙案例实践

    2023-12-08 08:14:01       57 阅读
  6. 《算法面试宝典》--深度学习常见问题汇总

    2023-12-08 08:14:01       54 阅读
  7. lodash常用方法

    2023-12-08 08:14:01       49 阅读