element

Java编程思想 | 第8章 对象的容纳

懵懂的女人 提交于 2020-12-07 20:12:43
8.1 集合类 1、集合(Collection):一组单独的元素,通常应用了某种规则。在这里,一个List(列表)必须按特定的顺序容纳元素,而一个Set(集)不可包含任何重复的元素。 2、映射(Map):一系列"键 - 值"对。从表面看,这似乎应该成为一个"键 - 值"对的"集合",但假若视图按照那种方式实现它,就会发现实现过程相当笨拙。这进一步证明了应该分离成单独的概念。另一方面,可以方便地查看 Map 的某个部分。只需创建一个集合,然后用它表示那一部分即可。这样一来,Map 就可以返回自己键的一个Set、一个包含自己值的List 或者包含自己“键-值”对的一个List。和数组相似,Map 可方便扩充到多个“维”,毋需涉及任何新概念。只需简单地在一个Map 里包含其他 Map(后者又可以包含更多的Map,以此类推)。 虚线框代表“接口”,点线框代表“抽象”类,而实线框代表普通(实际)类。点线箭头表示一个特定的类准备实现一个接口(在抽象类的情况下,则是“部分”实现一个接口)。双线箭头表示一个类可生成箭头指向的那个类的对象。例如,任何集合都可以生成一个反复器(Iterator),而一个列表可以生成一个ListIterator(以及原始的反复器,因为列表是从集合继承的)。 8.1.1 使用 Collections boolean add(Object) *保证集合内包含了自变量

selenium爬虫

风流意气都作罢 提交于 2020-12-07 05:41:54
Web自动化测试工具,可运行在浏览器,根据指令操作浏览器, 只是工具,必须与第三方浏览器结合使用,相比于之前学的爬虫只是慢了一点而已。而且这种方法爬取的东西不用在意时候ajax动态加载等反爬机制。因此找标签可以直接F12找,不用确定源码中是否存在。 安装 Linux: sudo pip3 install selenium Windows: python -m pip install selenium phantomjs浏览器 phantomjs浏览器又叫做无界面浏览器(又称无头浏览器),在内存中进行页面加载,运行高效。 安装(phantomjs(无界面浏览器)、chromedriver(谷歌浏览器)、geckodriver(火狐浏览器)) Windows 1、下载对应版本的 phantomjs 、 chromedriver 、 geckodriver 2、chromedriver下载与谷歌浏览器对应的版本,把chromedriver.exe拷贝到python安装目录的Scripts目录下(添加到系统环境变量), 查看python安装路径: where python 3、验证, cmd命令行: chromedriver Linux 1、下载后解压: tar -zxvf geckodriver.tar.gz 2、拷贝解压后文件到 /usr/bin/ (添加环境变量): sudo cp

Airtest之web自动化(一)

六眼飞鱼酱① 提交于 2020-12-07 01:59:11
Airtest之web自动化(一) [ 此文档有许多涉及到gif动图的地方,请全屏观看] 了解Airtest: 简介: Airtest是由网易团队开发的一款自动化框架,前期运用与游戏测试(通过截图识别),后来又被运用到安卓测试以及web测试。这款自动化框架如此强大的原因来自其团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。另外,Airtest也基于poco这个UI控件搜索框架,这个框架也是网易自家的跨平台UI测试框架,原理类似于appium,通过控件的名称,id之类的来定位目标控件,然后调用函数方法,例如click(),send_keys()之类的方法来对目标控件进行点击或者是操作。 下载地址: http://airtest.netease.com/changelog.html Airtest展示: 这个动图是Airtest官方文档中截取的,细心的同学可能已经发现:Airtest实现的脚本是python+selenium,刚刚接触到这款框架的时候,我在想这不就是python+selenium的再封装吗,也没有什么新颖的地方。但是细心认真的看,才会发现Airtest强大的之处... 一

【LeetCode】188、买卖股票的最佳时机 IV

百般思念 提交于 2020-12-06 06:39:05
Best Time to Buy and Sell Stock IV 题目等级:Hard 题目描述: Say you have an array for which the i th element is the price of a given stock on day i . Design an algorithm to find the maximum profit. You may complete at most k transactions. Note: You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again). Example 1: Input: [2,4,1], k = 2 Output: 2 Explanation: Buy on day 1 (price = 2) and sell on day 2 (price = 4), profit = 4-2 = 2. Example 2: Input: [3,2,6,5,0,3], k = 2 Output: 7 Explanation: Buy on day 2 (price = 2) and sell on day 3 (price = 6),

selenium自动化测试

て烟熏妆下的殇ゞ 提交于 2020-12-05 22:13:16
selenium自动化测试 12018.09.03 23:21:49字数 1847阅读 4043 一.自动化选型 不同点 selenium类(RF、Katalon、Macaca等) UFT(QTP) JS类库(Phantomjs、CasperJS、Puppeteer) 是否开源 是 否 是 支持平台 Linux、Windows、Mac Windows Linux、Windows、Mac 支持语言 Python、Perl、PHP、C#等 VB JS 支持浏览器 ie、chrome、firefox、opera、safari chrome、firefox、IE PhantomJS、casperjS不支持、puppeteer:chrome 支持录制 支持 支持 不支持 二.selenium环境搭建(以python示例) python环境搭建 下载python 安装 验证 C:\Users\mac>python Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD 4)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> 安装selenium pip install

轮播图

若如初见. 提交于 2020-12-05 19:55:51
今天学到轮播图以前看似很简单,今天一做对于我这新手还是挺难, 主要还是逻辑思维。 现在就对自己做的轮播图在整体的一步一步的写一下: HTML+css代码如下 <! DOCTYPE html > < html > < head > < meta charset ="utf-8" > < title ></ title > < style type ="text/css" > * { margin : 0 ; padding : 0 ; } .a1 { width : 500px ; height : 200px ; border : 1px solid red ; margin : 0 auto ; position : relative ; overflow : hidden ; } li { float : left ; display : inline-block ; } .a2 { position : relative ; width : 500px ; height : 200px ; } ul { position : absolute ; top : 0 ; left : 0 ; width : 3000px ; margin : 0 ; padding : 0 ; list-style : none ; } img { display : inline ;

vue+vue-router+axios+element-ui构建vue实战项目之五(配置axios api接口调用)

十年热恋 提交于 2020-12-05 02:26:18
上一篇文章《 vue+vue-router+axios+element-ui构建vue实战项目之四(修改App.vue、router和page文件) 》中,我们重新配置了默认文件,使得项目能够正常运行。但是,项目仅仅是‘跑’起来了,没有涉及到ajax请求接口的内容。 vue本身是不支持ajax请求接口的,所以我们需要第三方工具。 一般使用较多的有vue-resource和axios,我以前学习的时候使用的是vue-resource,但是今天我们使用axios。 安装axios 首先,我们先安装axios工具,如下 1 npm install axios --save 好了,axios工具安装完成。 有关axios的更多内容,请移步: https://www.npmjs.com/package/axios ,中文资料请自行搜索。 调整main.js文件 调整后的代码,如下 1 import Vue from 'vue' 2 import App from './App' 3 import router from './router' 4 import axios from 'axios' 5 6 Vue.config.productionTip = false 7 // 全局注册axios 8 Vue.prototype.$http = axios 9 10 /* eslint

vue项目引入element

本小妞迷上赌 提交于 2020-12-05 00:55:56
前提工作-安装并配置好以下环境: 1、安装node   2、安装git 1、初始化项目 vue init webpack vue- elementui npm run dev 2、安装element npm i element-ui -S 3、引入element    3.1:在main.js中引入elementUI import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) 4、测试   4.1:新建xxx.vue文件,复制一段elementUI的代码(你也可以去element网站里复制一份代码) <el- menu : default -active="activeIndex2" class ="el-menu-demo" mode ="horizontal" @select ="handleSelect" background -color="#545c64" text -color="#fff" active -text-color="#ffd04b"> <el-menu-item index="1">处理中心</el-menu-item> <el-submenu index="2"> <template slot="title"

WPF 基于Adorner实现类似Popup效果

社会主义新天地 提交于 2020-12-05 00:40:30
1. 什么是Adorner 装饰器是一种特殊类型的 FrameworkElement ,可用来向用户提供可视提示。 装饰器有很多用途,可用来向元素添加功能句柄,或者提供有关某个控件的状态信息。 2. 使用Adorner实现Popup的原因 1. 通过AdornerLayer存在与独立的布局系统,不会与界面布局环论 2. 使用过WPF中的Popup就可以知道Popup中有许多的限制(例如需要实现某些效果比较麻烦) 3. 效果 4. 主要实现 1. Popup中当StaysOpen为False的情况下,当打开Popup后如果再点击其他区域时将会关闭Popup的实现(实现方法参考自Popup, 但是不采用Mouse.Capture(element),因为会导致其他控件无法收到鼠标实现 if (StaysOpen) return ; Point pos = e.GetPosition(ListenMouseElement); HitTestResult hitResult = VisualTreeHelper.HitTest(ListenMouseElement, pos); if (hitResult == null ) { IsOpen = false ; return ; } // 如果点击对象对Child则返回 if (TreeHelper.IsDescendantOf

鸿蒙OS应用开发实践(三)

做~自己de王妃 提交于 2020-12-04 17:48:27
经过前两篇的学习,我们了解了DevEco运行一个程序的基本流程和一个鸿蒙OS应用项目的代码结构。 用一句《三体》格式的话说:跑得动hello world,我们就是同志了。 这一篇,我们就自己手动撸一个简单的鸿蒙交互程序:从一个页面跳转到另一个页面。 (一)创建工程 先创建一个新的TV的empty java工程: 点finish后,发现这次从创建到项目环境加载完成,用了很短的时间,这是因为初始环境需要各种配置和下载,类似我们初下完一个大型游戏,首次需要更新内容一般。 (二)自定义布局 进入界面后,默认的IDE已经创建了一个hello world程序,我们打开entry -> src -> main ->resources -> base -> layout -> ability_main.xml 布局文件: 我们先清掉原本的布局,重新写入我们自己的布局: <?xml version="1.0" encoding="utf-8"?> <DependentLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:width="match_parent" ohos:height="match_parent" ohos:background_element="#000000"> <Text ohos:id="$+id:text"