JavaWeb-Vue

news2024/11/25 6:48:50

JavaScript-Vue

什么是Vue

Vue

  • Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。
  • 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。
  • 官网:https://cn.vuejs.org/

框架

  • 是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。基于框架进行开发,更加快捷、更加高效。

MVVM示意图

在这里插入图片描述

Vue快速入门

  • 新建HTML页面,引入Vue.js文件

    <script src="js/vue.js"></script>
    
  • 在JS代码区域,创建Vue核心对象,定义数据模型

    <script>
    	new Vue({
            el: "#app",
            data: {
                message: "Hello Vue!"
            }
        })
    </script>
    
  • 编写视图

    <div id="app">
        <input type="text" v-model="message">
        {{ message }}
    </div>
    

插值表达式

  • 形式:{{表达式}}
  • 内容可以是:
    • 变量
    • 三元运算符
    • 函数调用
    • 算术运算符

Vue常用指令

常用指令

  • 指令:HTML标签上带有v-前缀的特殊属性,不同指令具有不同含义。例如:v-if、v-for等

  • 常用指令

    指令作用
    v-bind为HTML标签绑定属性值,如设置href、css样式等
    v-model在表单元素上创建双向数据绑定
    v-on为HTML标签绑定事件
    v-if条件性的渲染某元素,判定为true时渲染,否则不渲染
    v-else-if条件性的渲染某元素,判定为true时渲染,否则不渲染
    v-else条件性的渲染某元素,判定为true时渲染,否则不渲染
    v-show根据条件展示某元素,区别在于切换的是display属性的值
    v-for列表渲染,遍历容器的元素或者对象的属性
  • v-bind

    <a v-bind:href="url">甲柒</a>
    <a :href="url">甲柒</a>
    
  • v-model

    <input type="text" v-model="url">
    
    <script>
    	new Vue({
            el: "#app",
            data: {
                url: "https://blog.csdn.net/qq_59621600?type=blog"
            }
        })
    </script>
    

    注意:通过v-bind或者v-model绑定的变量,必须在数据模型中声明

  • v-on

    <input type="button" value="按钮" v-on:click="handle()">
    <input type="button" value="按钮" @click="handle()">
    
    <script>
    	new vue({
            el: "#app",
            data: {
                //...
            },
            methods: {
                handle:function(){
                    alert('我被点击了');
                }
            },
        })
    </script>
    
  • v-if

    年龄{{age}},经判定为:
    <span v-if="age <= 35">年轻人</span>
    <span v-else-if="age >35 && age < 60">中年人</span>
    <span v-else>老年人</span>
    
  • v-show

    年龄{{age}},经判定:
    <span v-show="age <=35">年轻人</span>
    
  • v-for

    <!-- {{表达式}}:插值表达式 addr:要遍历的元素,是随意起的名字 in:是关键字 addrs:要遍历的数组-->
    <div v-for="addr in addrs">
        {{addr}}
    </div>
    
    <div v-for="(addr,index) in addrs">
        {{index + 1}} : {{addr}}
    </div>
    
    <script>
    	new vue({
            el: "#app",
            data: {
                addrs:['北京','上海','广州','深圳','成都','杭州']
            }
        })
    </script>
    

案例

  • 通过Vue完成表格数据的渲染展示

    data: {
        users: [{
            name: "Tom",
            age: 20,
            gender: 1,
            score: 78
        },{
            name: "Rose",
            age: 18,
            gender: 2,
            score: 86
        },{
            name: "Jerry",
            age: 26,
            gender: 1,
            score: 90
        },{
            name: "Tony",
            age: 30,
            gender: 1,
            score: 52
        }]
    }
    

    在这里插入图片描述

  • 性别:

    • gender == 1:男

    • gender == 2:女

  • 等级:

    • score >= 85:优秀
    • score >= 60:及格
    • 否则:不及格
案例代码:
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vue-指令-案例</title>
    <script src="js/vue.js"></script>
</head>

<body>
    <div id="app" align="center">
        <table border="1" cellspacing="0" width="60%">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>性别</th>
                <th>成绩</th>
                <th>等级</th>
            </tr>
            <tr align="center" v-for="(user,index) in users">
                <td>{{index+1}}</td>
                <td>{{user.name}}</td>
                <td>{{user.age}}</td>
                <td>
                    <span v-if="user.gender==1">男</span>
                    <span v-if="user.gender==2">女</span>
                </td>
                <td>{{user.score}}</td>
                <td>
                    <span v-if="user.score >= 85">优秀</span>
                    <span v-else-if="user.score >= 60 && user.score < 85">及格</span>
                    <span v-else="user.score < 60" style="color: chocolate;">不及格</span>
                </td>
            </tr>
        </table>
    </div>
</body>

<script>
    new Vue({
        el: "#app",
        data: {
            users: [{
                name: "Tom",
                age: 20,
                gender: 1,
                score: 78
            }, {
                name: "Rose",
                age: 18,
                gender: 2,
                score: 86
            }, {
                name: "Jerry",
                age: 26,
                gender: 1,
                score: 90
            }, {
                name: "Tony",
                age: 30,
                gender: 1,
                score: 52
            }]
        },
        methods: {

        }
    })
</script>

</html>
运行结果

在这里插入图片描述

Vue生命周期

生命周期

  • 生命周期:指一个对象从创建到销毁的整个过程

  • 生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)

    状态阶段周期
    beforeCreate创建前
    created创建后
    beforeMount挂载前
    mounted挂载完成
    beforeUpdate更新前
    updated更新后
    beforeDestroy销毁前
    destroyed销毁后
    <script>
    	new Vue({
            el: "#app",
            data: {
                
            },
            mounted() {
                console.log("Vue挂载完毕,发送请求获取数据")
            },
            methods: {
            
        	},
        })
    </script>
    
  • mounted:挂载完成,Vue初始化成功,HTML页面渲染成功。(发送请求到服务端,加载数据)

在这里插入图片描述

生命周期图示

在这里插入图片描述

小结

  1. Vue是什么?

    Vue是一个基于MVVM模型的前端js框架

  2. Vue常用指令?

    v-bind、v-model、v-on、v-if、v-show、v-for

  3. Vue生命周期?

    mounted

JavaScript-Ajax

Ajax

概念:

  • Asynchronous JavaScript And XML,异步的JavaScript和XML

作用:

  • 数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据
  • 异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页,如:搜索联想、用户名是否可用的校验等等

在这里插入图片描述

同步与异步

在这里插入图片描述

原生Ajax(不推荐使用)

  1. 准备数据地址:
  2. 创建XMLHttpRequest对象:用于和服务器交换数据
  3. 向服务器发送请求
  4. 获取服务器响应数据
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ajax-原生方式</title>
</head>

<body>
    <input type="button" value="获取数据" οnclick="getData()">

    <div id="div1"></div>
</body>
<script>
    function getData() {
        // 1.创建XMLHttpRequest
        var xmlHttpRequest = new XMLHttpRequest();

        // 2.发送异步请求
        xmlHttpRequest.open("GET", "http://localhost:5173/01-test-Ajax.json");
        xmlHttpRequest.send();//发送请求

        // 3.获取服务响应数据
        xmlHttpRequest.onreadystatechange = function () {
            if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
                document.getElementById("div1").innerHTML = xmlHttpRequest.responseText;
            }
        };
    }
</script>

</html>

运行结果

在这里插入图片描述

Axios(推荐)

  • 介绍:

    Axios对原生的Ajax进行了封装,简化书写,快速开发

    在这里插入图片描述

  • 官网:

    https://www.axios-http.cn/

Axios入门

  1. 引入Axios的js文件

    <script src="js/axios-0.18.0.js"></script>
    
  2. 使用Axios发送请求,并获取响应结果,示例代码:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Ajax-Axios</title>
        <script src="js/axios-0.18.0.js"></script>
    </head>
    
    <body>
        <input type="button" value="获取数据GET" οnclick="get()">
        <br><br>
        <input type="button" value="获取数据POST" οnclick="post()">
    </body>
    <script>
        function get() {
            // 通过axios发送异步请求-get
            axios({
                method: "get",
                url: "http://localhost:5173/01-test-Ajax.json"//TM的这个json文件还是我自己写的,然后放在01-VUE-test里,运行起来直接访问这个文件,就没在搞域名了....
            }).then(result => {
                console.log(result.data);
            })
        }
        function post() {
            // 通过axios发送异步请求-post
            axios({
                method: "post",
                url: "url", //这里的url是发送post请求的url,由于没有测试用url,暂时就这样吧
                data: "id=1"
            }).then(result => {
                console.log(result.data);
            })
        }
    </script>
    
    </html>
    

Axios请求方式别名

  • axios.get(url [, config])
  • axios.delete(url [, config])
  • axios.post(url [, data[, config]])
  • axios.put(url [, data[, config]])

发送GET请求

axios.get("url").then((result) => {
	console.log(result.data);
});

发送POST请求

axios.post("url","id=1").then((result) => {//url假设的是删除信息映射的url,传入id=1,即删除id=1的信息
	console.log(result.data);//控制台输出结果
});

案例

基于Vue及Axios完成数据的动态加载展示
  • 数据的准备url:
  • 在页面加载完成后,自动发送异步请求,加载数据,渲染展示页面(性别:1代表男,2代表女)。
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ajax-Axios-案例</title>
    <script src="js/vue.js"></script>
    <script src="js/axios-0.18.0.js"></script>
</head>

<body>
    <div id="app" align="center">
        <table border="1" cellspacing="0" width="60%">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>头像</th>
                <th>性别</th>
                <th>职位</th>
                <th>入职日期</th>
                <th>最后操作时间</th>
            </tr>
            <tr align="center" v-for="(emp, index) in empS">
                <td>{{index+1}}</td>
                <td>{{emp.name}}</td>
                <td>
                    <!-- img标签渲染图片 v-bind:src=""绑定路径 -->
                    <img v-bind:src="emp.image" width="80px">
                </td>
                <td>
                    <span v-if="emp.gender == 1">男</span>
                    <span v-if="emp.gender == 2">女</span>
                </td>
                <td>{{emp.job}}</td>
                <td>{{emp.entryDate}}</td>
                <td>{{emp.updateTime}}</td>
            </tr>
        </table>
    </div>
</body>

<script>
    new Vue({
        el: "#app",
        data: {
            empS: []
        },
        mounted() {
            // 发送异步请求,加载数据
            axios.get("http://localhost:5173/02-Axios-%E6%A1%88%E4%BE%8B.json").then(result => {
                this.empS = result.data.data;

            })
        }
    })
</script>

</html>
运行结果

在这里插入图片描述

前后端分离开发

介绍

  • 前后端混合开发

在这里插入图片描述

  • 前后端分离开发

在这里插入图片描述

  • 开发流程

在这里插入图片描述

YAPI

  • 介绍:YApi是高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务
  • 地址:https://yapi.pro/
  • 添加项目

在这里插入图片描述

  • 添加分类

在这里插入图片描述

  • 添加接口

在这里插入图片描述

注:这里插一句,上面的Ajax与Axios请求的url可以在这里生成。

前端工程化

前端工程化概念:

是指在企业级的项目开发中,把前端开发所需的工具、技术、流程、经验等进行规范化、标准化

  • 模块化:JS、CSS
  • 组件化:UI结构、样式、行为
  • 规范化:目录结构、编码、接口
  • 自动化:构建、部署、测试

环境准备

  • 介绍:Vue-cli是Vue官方提供的一个脚手架,用于快速生成一个Vue项目模板
  • Vue-cli:提供了如下功能:
    • 统一的目录结构
    • 本地调试
    • 热部署
    • 单元测试
    • 集成打包上线
  • 依赖环境:Node.js
  • Node官网:https://nodejs.org/en/download

在这里插入图片描述

注意:尽量别安装在C盘,我就是傻傻的安C盘,最后C盘红了,后来重做了系统,这次学习又又又装了C盘,呜呜呜呜,下次出问题再说吧

  • 在cmd.exe中通过node -v查看node.js是否安装好

  • 配置npm全局变量,在管理员的cmd.exe中执行下列代码,一件傻瓜式安装的不需要配置

    npm config set prefix "Node.js的安装目录"
    
  • 切换npm的淘宝镜像,在管理员的cmd.exe中执行下列代码

    npm config set registry https://registry.npm.taobao.org
    
  • 安装Vue-cli

    npm install -g @vue/cli
    
  • 确认Vue-cli安装成功

    vue --version
    

Vue项目-创建

  • 命令行创建Vue项目:

    vue create vue-project01
    
  • 图像化界面创建Vue项目:

    vue ui
    
  • 在这里插入图片描述

  • 在这里插入图片描述

  • 在这里插入图片描述

-在这里插入图片描述

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 等待几分钟

  • 在这里插入图片描述

Vue项目-目录结构

  • 基于Vue脚手架创建出来的工程,有标准的目录结构,如下:

    在这里插入图片描述

Vue项目-启动

  • 使用图形化界面

    在这里插入图片描述

  • 使用命令行

    npm run serve
    

    在这里插入图片描述

Vue项目-配置端口

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  devServer: {
    port: 7000,//配置端口号
  }
})
  • 修改端口号后,在终端按Ctrl+c终止运行,然后重新启动项目,端口号修改完成

在这里插入图片描述

Vue项目简介

Vue项目开发流程

  • 在这里插入图片描述

  • Vue的组件文件以.vue结尾,每个组件由三个部分组成:<template>、<script>、<style>

    标签Vue中根组件的组成部分
    <template>模板部分,由它生成HTML代码
    <script>控制模板的数据来源和行为
    <style>css样式部分
  • 在这里插入图片描述

  • 示例代码

<template>
  <!-- 模板部分,由它生成HTML代码 -->
  <div>
    <!-- 插值表达式展示message -->
    <h1>{{ message }}</h1>
  </div>
</template>

<script>
// 控制模板的数据来源和行为
// export 导出
export default {
  // vue中的数据模型
  data: function () {
    return {
      message: "Hello Vue",
    };
  },
  // 方法
  methods: {},
};
</script>

<style>
/* 定义css的样式 */
</style>

Vue组件库Element

什么是Element

  • Element:是饿了么团队研发的,一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端组件库。
  • 组件:组成网页的部件,例如超链接、按钮、图片、表格、表单、分页条等等。
  • 官网:https://element.eleme.cn/#/zh-CN
  • 在这里插入图片描述

快速入门

  • 安装ElementUI组件库(在当前工程的目录下),在命令行执行指令:

    npm install element-ui@2.15.3
    
  • 引入ElementUI组件库

    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    
    Vue.use(ElementUI);
    
  • 访问官网,复制组件代码,调整

  • 在这里插入图片描述

常见组件

  • Table表格:用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。

  • 在这里插入图片描述

  • Pagination分页:当数据量过多时,使用分页分解数据。

  • 在这里插入图片描述

  • Dialog对话框:在保留当前页面状态的情况下,告知用户并承载相关操作。

  • 在这里插入图片描述

  • Form表单:由输入框、选择器、单选框、多选框等控件组成,用于收集、校验、提交数据。

  • 在这里插入图片描述

案例

根据页面原型完成员工管理页面开发,并通过Axios完成数据异步加载。

步骤:

  • 创建页面,完成页面的整体布局规划
  • 布局中各个部分的组件实现
  • 列表数据的异步加载,并渲染展示

Vue项目中使用Axios:

  • 在项目目录下安装axios:npm install axios;
  • 需要使用axios时,导入axios:import axios from ‘axios’;

在这里插入图片描述

Vue路由

在这里插入图片描述

Vue Router

  • 介绍:Vue Router时Vue官方路由。
  • 组成:
    • VueRouter:路由器类,根据路由请求在路由器视图中动态渲染选中的组件
    • <router-link>:请求链接组件,浏览器会解析成<a>
    • <router-view>:动态视图组件,用来渲染展示与路由路径对应的组件

在这里插入图片描述

  • 安装(创建Vue项目时已选择)

    npm install vue-router@3.5.1
    
  • 定义路由

在这里插入图片描述

打包部署

在这里插入图片描述

  • 打包

在这里插入图片描述

部署

Nginx
  • 介绍:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,在各大互联网公司都有非常广泛的使用
  • 官网:https://nginx.org/

在这里插入图片描述

  • 部署:将打包好的dist目录下的文件,复制到nginx安装目录的html目录下
  • 启动:双击nginx.exe文件即可,Nginx服务器默认占用80端口号

注意事项:

  • Nginx默认占用80端口号,如果80端口号被占用,可以在nginx.conf中修改端口号。

    //查看80端口占用的进程
    netstat -ano | findStr 80
    

图片转存中…(img-q3eWMlPx-1696767905331)]

Vue Router

  • 介绍:Vue Router时Vue官方路由。
  • 组成:
    • VueRouter:路由器类,根据路由请求在路由器视图中动态渲染选中的组件
    • <router-link>:请求链接组件,浏览器会解析成<a>
    • <router-view>:动态视图组件,用来渲染展示与路由路径对应的组件

[外链图片转存中…(img-nGnOfrAE-1696767905332)]

  • 安装(创建Vue项目时已选择)

    npm install vue-router@3.5.1
    
  • 定义路由

在这里插入图片描述

打包部署

在这里插入图片描述

  • 打包

在这里插入图片描述

部署

Nginx
  • 介绍:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,在各大互联网公司都有非常广泛的使用
  • 官网:https://nginx.org/

在这里插入图片描述

  • 部署:将打包好的dist目录下的文件,复制到nginx安装目录的html目录下
  • 启动:双击nginx.exe文件即可,Nginx服务器默认占用80端口号

注意事项:

  • Nginx默认占用80端口号,如果80端口号被占用,可以在nginx.conf中修改端口号。

    //查看80端口占用的进程
    netstat -ano | findStr 80
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1071153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

若依项目新建子模块

官方资料:后台手册 | RuoYi 建设完成后测试详情 在新建的业务模块添加com.ruoyi.ding包&#xff0c;新建TestService.java&#xff1b; 在里面写测试代码返回hello 在ruoyi-admin新建测试类&#xff0c;调用helloTest&#xff0c;成功返回hello代表成功。

基于springboot实现汽车租赁管理系统项目演示【项目源码+论文说明】分享

基于springboot实现汽车租赁管理系统项目演示 摘要 随着社会的发展&#xff0c;计算机的优势和普及使得汽车租赁系统的开发成为必需。汽车租赁系统主要是借助计算机&#xff0c;通过对汽车租赁信息等信息进行管理。减少管理员的工作&#xff0c;同时也方便广大用户对个人所需汽…

(Vue3)defineOptions、defineModels Pinia及持久化

Vue3.3新特性defineOptions v-model和defineModel 开启特性vite.config.js中加配置 重启架子&#xff08;试验性质&#xff09;npm run dev Pinia Vue最新的状态管理工具&#xff0c;代替Vuex Pinia配置创建项目时自动添加 安装 npm install pinia 创建一个 pinia 实例 (根 s…

Unity简单操作:Unity接sdk写的java代码放在Plugins/Android/libs目录中即可被打进apk中,无需提前编译成jar

Unity项目&#xff0c;接入第三方sdk的时候&#xff0c;难免需要写一下java代码&#xff0c;之前的做法是把自己写的java先编译成一个game.jar&#xff0c;然后把game.jar放到Plugins/Android/libs目录中。 事实上&#xff0c;直接把java代码放在Plugins/Android/libs目录中即…

unity使用UniStorm 5.1.0.unitypackage增加天气

添加天天气组件unistorm 然后添加一个player 导入包会报错,需要修改代码 using UnityEngine; using UnityEngine.PostProcessing;namespace UnityEditor.PostProcessing {[CustomPropertyDrawer(typeof(UnityEngine.PostProcessing.MinAttribute))]sealed class MinDrawer : …

电商项目之如何扣减库存

文章目录 1 问题背景2 前言3 扣减库存的三种方案3.1 下单减库存3.2 付款减库存3.3 预扣库存 4 如何解决恶意买家下单的问题4.1 限制用户下单的数量4.2 标识恶意买家 5 实战&#xff1a;具体实现思路 1 问题背景 今天研究一下亿级流量的电商网站是怎么扣减库存 参考自&#xff1…

ml-dms-dataset实验

https://github.com/apple/ml-dms-dataset 数据集的两个问题&#xff1a; 部分图片失效images 和 labels不匹配 evaluation运行结果 论文中的结果&#xff1a; inference结果&#xff1a;

iPhone升级iOS17出现无法连接互联网的错误提示怎么办?

最新的iOS 17系统已经发布了快一个月了&#xff0c;很多人都已升级体验更多全新功能&#xff0c;但有部分用户却在升级过程中遇到一些问题&#xff1a;如无法验证更新&#xff0c;iOS17验证失败&#xff0c;因为您不再连接到互联网、 iPhone无法检查更新等错误问题。明明网络稳…

Java——String类的常见操作

Java String类的常见方法 package com.yushifu.javaAPI;import java.lang.reflect.Array; import java.util.Arrays; //String类的常见操作 public class Demo02 {public static void main(String[] args) {String s new String("ababbadc");//indexOf方法————…

RK3568驱动指南|第五期-中断-第48章 并发管理工作队列实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

iPhone15系类LDR6020P 超简外围手机转接器/拓展坞方案

目前市面上的手机大部分已经取消3.5音频耳机接口&#xff0c;仅仅保留了Type-c口。但是追求音质和零延迟的用户仍然会选择3.5mm有线耳机&#xff0c;因为在玩手机游戏的时候&#xff0c;音画不同步真的很影响游戏体验&#xff0c;所以Type-C转3.5mm接口线应运而生。 #iPhone15…

mysql批量插入数据,跳过唯一索引报错

数据准备 DROP TABLE IF EXISTS user1; CREATE TABLE user1 ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(45) NULL, age INT(3) NOT NULL, PRIMARY KEY (id), UNIQUE INDEX u_name (name));insert into user1(name, age) values (zhangshan, 18), (lisi, 19);1. INSERT I…

【Python】WebUI自动化—Selenium的下载和安装、基本用法、项目实战(16)

文章目录 一.介绍二.下载安装selenium三.安装浏览器驱动四.QuickStart—自动访问百度五.Selenium基本用法1.定位节点1.1.单个元素定位1.2.多个元素定位 2.控制浏览器2.1.设置浏览器窗口大小、位置2.2.浏览器前进、刷新、后退、关闭 3.WebDriver常用方法4.Selenium事件处理4.1.鼠…

史上最全,Jmeter+Ant+Jenkins接口自动化集成(图文步骤)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、安装 jdk、Jme…

水电站生态流量监测解决方案(dtu数据采集和分析)

1. 引言 水电站是重要的清洁能源发电设施&#xff0c;但其建设和运营也对当地生态环境带来一定的影响。为了科学合理地评估水电站的生态流量&#xff0c;监测和记录河流中的流量数据变得至关重要。通过采集和分析这些数据&#xff0c;可以做出合理的决策和调整&#xff0c;以最…

华为云新开源低代码引擎 TinyEngine核心亮点

核心亮点 • 可以定制开发低码平台。 TinyEngine 采用灵活的系统架构,其出色的整体架构提供了高度的自定义自由度,使用户能够像搭建积木一样选择不同的模块来构建自己的专属设计器。此外,插件化的架构使得用户可以方便地扩展与业务相关的功能。在 TinyEngine 中,插件根据…

外贸SEO应该怎样做?

这几年做外贸SEO的越来越多&#xff0c;背后原因很复杂&#xff0c;不去探讨了。今天就自己SEO服务客户情况所见&#xff0c;聊一点外贸网站SEO该怎么做的感想。 我所遇到的英文外贸网站&#xff0c;大部分是卖产品的&#xff0c;产品各种各样&#xff0c;从单一软件或产品小网…

基于边缘网关的智慧工地监测方案

边缘物联网技术为千行百业赋能&#xff0c;依托边缘计算的低延时、高效率、广适用优势&#xff0c;也为工程建设产业带来新的增长动力。 例如在智慧工地应用中&#xff0c;围绕建设施工过程中的人员、设备、环境等要素&#xff0c;利用边缘计算网关构建全面的数据采集、分析、联…

【UE5 Cesium】15-Cesium for Unreal 加载本地影像和地形

目录 一、加载全球无高度地形 二、加载区域DEM 三、加载离线地图影像 一、加载全球无高度地形 1. 先去如下网址下载全球无高度地形&#xff1a;Using a global terrain layer without height detail - #9 by RidhwanAziz - Cesium for Unreal - Cesium Community 下载后如下…

核桃派walnutpi添加红外遥控器键盘映射(其他的linux板子同理)ir-keytable

01studio终于又发布新品了&#xff0c;全志h616 linux开发板核桃派&#xff0c;正好我也打算学习linux&#xff0c;做为我的启蒙公司&#xff0c;必须支持果断入了一个。 这个板子自带红外接收头&#xff0c;比较少见&#xff0c;一般都需要自己加&#xff0c;看官网文档&…