浅谈Selenium+Webdriver 常用的元素定位方式

2021-01-12
假设页面源代码如下: <input type="text"name="wd" id="kw1" class="input_wd" maxlength="100"style="width:474px;"autocomplete="off"> 通过id定位元素:find_element_by_id("id_vaule"): browser=

在C# WPF下自定义滚动条ScrollViewer样式的操作

2021-01-12
一.实现对ScrollViewer样式的自定义主要包括: 1.滚动条宽度设置 2.滚动条颜色 3.滚动条圆角 4.滚动条拉动时的效果mouseover 二.实现效果: 三.实现方法 1.创建资源字典( ResourceDictionary)文件 由于style代码比较多,之间在控件文件中加载style比较混乱,也不利于其它窗口复用,这里单独创建了ScrollViewDictionary.xaml文件代码如下: <ResourceDictionary xmlns="http://schema

matplotlib对象拾取事件处理的实现

2021-01-12
前面讲到的众多数据光标案例其实都用到了matplotlib的pick_event事件(拾取事件),该事件表示画布中的对象被选中,该事件默认是禁用的,需要artist(数据元素,例如Line2D, Text, Patch, Polygon, AxesImage等)设置picker属性才会启用. picker属性 picker属性有多种取值: None:默认值,表示禁用 pick_event事件. 布尔值:如果为True,则启用事件,当鼠标移动到该数据元素上方时触发事件. 数值:如果取值是数值,则可

C# 中的List.Sort()--集合排序方法全面解析

2021-01-12
在C#中,List.Sort() 不仅为我们提供了默认的排序方法,还为我们提供了4种自定义排序的方法,通过默认排序方法,我们无需重写任何Sort()方法的实现代码,就能对单参数类型的List数据进行单一规则的排序,如果通过对这些方法进行改进我们可以轻松做到对多参数.多规则的复杂排序. 下面是C#自定义排序的4种方法: List<T>.Sort(); List<T>.Sort(IComparer<T> Comparer); List<T>.Sort(int i

PostgreSQL 对IN,EXISTS,ANY/ALL,JOIN的sql优化方案

2021-01-12
测试环境: postgres=# select version(); version --------------------------------------------------------------------------------------------------------- PostgreSQL 11.9 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-b

SQL Server 添加Delete操作回滚日志方式

2021-01-12
我们在操作表的时候难免会遇到误删除,或者删掉的数据还想恢复的情况. 也许细心的朋友会用begin tran rollback/commit 这种事务来避免出现失误,但这并不是最保险的. 如果提交了事物发现删错了或者忘记提交从而导致表被锁,这些问题总是不可避免的. 废话不多说了,下面直接进入正题,通过触发器记录删除日志,避免误删除带来的尴尬. 下面这段sql粘过去直接运行,建立一个存储过程: CREATE PROCEDURE [dbo].[SP_DELETE_LOG] @TABLENAME VAR

Java中数组的定义和使用教程(二)

2021-01-12
数组与方法调用 数组是一个引用数据类型,那么所有的引用数据类型都可以为其设置多个栈内存指向.所以在进行数组操作的时候,也可以将其通过方法进行处理. 范例: 方法接受数组 public class ArrayDemo { public static void main(String args[]) { int data[] = new int[] {1, 2, 3}; printArray(data); } //定义一个专门进行数组输出的方法 public static void printArr

详解servlet调用的几种简单方式总结

2021-01-12
servlet调用的几种简单方式 这里总结的是我在学习web开发的过程中需要用到的几种比较常见的用于转发和调用servlet的方式,这些方式的使用率非常高.在网上总结了相关的方法,大多对于初学者不是特别的友好,自己总结了一下. 1.servlet直接转发到另一个servlet 我们在进行jsp页面点击按钮进行登录的时候,首先需要登录到进行登录检查的servlet,但是在下个jsp页面,我们需要那个页面通过servlet进行转发,所以需要从servlet直接跳转到另一个servlet,其实写法很简

Java中的权限修饰符(protected)示例详解

2021-01-12
前言 大部分来自:https://blog.csdn.net/justloveyou_/article/details/61672133.并在这个博客的基础上,加上了自己的一些理解. 权限控制表 修饰词 本类 同一个包的类 继承类 其他类 private √ × × × 无(默认) √ √ × × protected √ √ √ × public √ √ √ √ 关于protected 最近在看Effective Java时,遇到了一个关于protected修饰符的问题.这个问题中,对于它的认识

python drf各类组件的用法和作用

2021-01-12
DRF组件的用法和作用 认证 自定义认证的类 """ from rest_framework.authentication import BaseAuthentication from rest_framework.exceptions import AuthenticationFailed from authapp.models import UserToken class MyOrderAuthentication(BaseAuthentication): 在这里实现认证

postgreSQL数据库默认用户postgres常用命令分享

2021-01-12
1.修改用户postgres的密码 #alter user postgres with password 'xxxx';(其中xxxx是修改的密码). 2.查看下当前schema的所有者: // 查看当前schema的所有者,相当于\du元命令 SELECT n.nspname AS "Name", pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner" FROM pg_catalog.pg_namespace n WHE

Python jieba库分词模式实例用法

2021-01-11
在中文分词中,jiebe库是最为常见的,主要的原因还是它独特的支持分词模式如:精确模式.全模式.搜索引擎模式.也对应着三种方式,包括jieba.cut()方法.jieba.lcut()方法.jieba.cut_for_search()方法.下面就为大家实例操作这些分词模式,以及方法的使用,一起来了解下吧. 全模式: import jieba seg_list = jieba.cut("南京市长江大桥欢迎你.", cut_all=True) print(type(seg_list),se

脚本批量检测网站是否存活

2021-01-11
1. 脚本内容编写如下: #!/bin/bash url=( www.baidu.com www.pornhub.com www.vip.com www.91porn.com www.taobao.com ) for i in ${url[*]} do ping -c 2 $i > /dev/null 2>&1 if [ $? -eq 0 ];then echo "$i 服务正常" else echo "$i 服务异常" fi done 注: 1

MYSQL中Truncate的用法详解

2021-01-11
本文导读:删除表中的数据的方法有delete,truncate, 其中TRUNCATE TABLE用于删除表中的所有行,而不记录单个行删除操作.TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似:但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少.下面介绍SQL中Truncate的用法 当你不再需要该表时, 用 drop:当你仍要保留该表,但要删除所有记录时, 用 truncate:当你要删除部分记录时(always with a WHE

C++17中的std::optional的具体使用

2021-01-11
直入主题 本篇之中,仅仅述及 std::optional ,其它和 variant 相关的话题以后再说吧. std::optional 也划入 variant 类别中,其实它还是谈不上可称为变体类型的,但新版本中的三大件(optional,any and variant)也可以归一类无妨. C++17 之前 在 C 时代以及早期 C++ 时代,语法层面支持的 nullable 类型可以采用指针方式: T* ,如果指针为 NULL (C++11 之后则使用 nullptr ) 就表示无值状态(em

SpringBoot创建多模块项目的全过程记录

2021-01-11
构建项目 我们采用IntelliJ IDEA工具来创建一个Maven项目,项目的pom.xml要添加对应SpringBoot的配置,因为Maven多模块项目内的模块并不能独立的存在,必须有一个介质来包含,项目结构如下下图所示 我们创建的Maven项目结构如上图所示,pom.xml内我们对应的添加了对SpringBoot的支持,因为我们需要使用SpringBoot来作为项目基本框架,并在pom.xml配置文件引入了Web模块的支持,所以介质项目内的Module都会用于Web依赖 我们在介质Mave

python excel和yaml文件的读取封装

2021-01-11
excel import os import xlrd PATH = lambda p: os.path.abspath( os.path.join(os.path.dirname(__file__), p) ) class ExcelData: def __init__(self, file, sheet="sheet1", title=True): # 判断文件存在不存在 if os.path.isfile(PATH(file)): self.file = PATH(file) s

使用idea开发javaWeb应用程序的思路(实现用户的增删改查)

2021-01-11
在2.7 节基础上,这一节实现了用户的增删改查操作. 完整工程代码: 链接: https://pan.baidu.com/s/1zSGMvSQa-ihwEN5pP4vW6w 提取码: dpw8 工程目录结构如下: 1.添加/修改用户页面 在webapp下新建目录user,用于存放用户相关的页面. 添加和修改使用的是同一个页面,通过url中的参数控制是否是修改操作. 后台通过是否传递了id进行判断新增还是修改. 新建:add.html,代码如下: <!DOCTYPE html> <html

c# 操作word写入特殊字符的实例

2021-01-11
在word中插入特殊字符(word 2010): 插入-符号-选择特殊符号,如图: c#操作 : 首先要得到插入符号的字符代码,在上图中有显示,然后word模板改为相应的字体, 具体插入代码如下 if (Convert.ToBoolean(reportInfo.BaseInfo.IsAgreementText)) { wh.ReplaceBookMark("IsAgreementText", "\u0052有 \u00A3无"); } else { wh.Repla

开源数据库postgreSQL13在麒麟v10sp1源码安装过程详解

2021-01-11
一.中标麒麟v10sp1在飞腾2000+系统安装略 二.系统依赖包安装 [root@ft2000db opt]# yum install bzip* [root@ft2000db opt]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server release V10 (Tercel) Kernel: 4.19.90-17.ky10.aarch64 Buil