element

初探python+selenium

这一生的挚爱 提交于 2020-12-03 15:29:16
由于公司网络管管控严格,服务器上访问外网需要进行身份认证(按理说递交个申请给开放相关域名外网访问就好,无奈不给通过,又想马儿跑又不给马吃草),正好前一阵撸课程的时候看到selenium可以实现自动化,顺便撸一波做个记录。 1、安装 selenium pip install selenium 等待出现Successfully installed selenium python3.7安装的时候默认安装了pip省心了不少,服务器端用的2.7还要自己撸 下载setuptools 和 pip http://pypi.python.org/pypi/setuptools https://pypi.python.org/pypi/pip https://pypi.python.org/pypi/selenium 解压后进入目录,运行 python setup.py install 2、下载 chromedriver + chrome 下载地址: 谷歌官方: https://chromedriver.storage.googleapis.com 淘宝镜像: https://npm.taobao.org/mirrors/chromedriver/ chrome需要与对应版本号的chromedriver 相匹配的,版本号不匹配会报错 对应版本号查询 https://npm.taobao.org

Vue 3.0资源分享

∥☆過路亽.° 提交于 2020-12-03 09:49:03
vue采坑日记 https://segmentfault.com/a/1190000016423943 element + https://element-plus.org/#/zh-CN vue3.0+typeScript项目 https://www.cnblogs.com/zhaomeizi/p/11732597.html 来源: oschina 链接: https://my.oschina.net/u/4272811/blog/4771470

鸿蒙和安卓,到底有什么区别?

孤街浪徒 提交于 2020-12-02 11:28:24
对于开发者来说两个最关键的点值得关注: 一个是 Beta 版的开发工具,一个是开源网站。 开源网站 在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线。 OpenHarmony 官方源码地址: https://openharmony.gitee.com/openharmony 开发工具 鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。 DevEco Studio 下载地址: https://developer.harmonyos.com/cn/develop/deveco-studio 那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐? HarmonyOS 项目和 Android 项目对比 资源目录的变更 ①资源目录名称有更改 安卓 res 目录,这里用 resources 目录,它包括 base 和 rawfile 两部分,其中 base 是核心的资源目录,常用的都放在这里面,便于查找和使用。rawfile 会原封不动打包到生成的应用里面。 安卓是 res/values 目录,这里是 resources/element 目录。安卓 raw 目录,这里用 rawfile 目录。 ②资源目录分门别类,统一管理 Android

Flutter key

瘦欲@ 提交于 2020-12-01 12:40:17
一,前言 在开发 Flutter 的过程中你可能会发现,一些小部件的构造函数中都有一个可选的参数—— Key 。在这篇文章中我们会深入浅出的介绍什么是 Key ,以及应该使用 key 的具体场景。 二,什么是Key 在 Flutter 中我们经常与状态打交道。我们知道 Widget 可以有 Stateful 和 Stateless 两种。Key 能够帮助开发者在 Widget tree 中保存状态,在一般的情况下,我们并不需要使用 Key 。那么,究竟什么时候应该使用 Key 呢。 我们来看看下面这个例子。 class StatelessContainer extends StatelessWidget { final Color color = RandomColor().randomColor(); @override Widget build(BuildContext context) { return Container( width: 100, height: 100, color: color, ); } } 这是一个很简单的 Stateless Widget,显示在界面上的就是一个 100 * 100 的有颜色的 Container。 RandomColor 能够为这个 Widget 初始化一个随机颜色。 我们现在将这个Widget展示到界面上。 class

vue element 时间选择框小于当前日期不可选

笑着哭i 提交于 2020-11-30 20:53:09
<template> < el-date-picker v-model = " time_ " type = "date" : picker-options = " option " value-format = "yyyy-MM-dd" placeholder = "请选择日期" > </ el-date-picker > </template> <script> export defalut{ data(){ return{ option : { disabledDate : (time) => { return time. getTime () < Date . now () - 1 * 24 * 3600 * 1000 } }, } } } </script> 来源: oschina 链接: https://my.oschina.net/u/4644439/blog/4708135

XML Schema 学习

梦想的初衷 提交于 2020-11-30 18:37:38
XML Schema XML Schema 可定义 XML 文件的元素。 简易元素 简易元素指那些只包含文本的元素。它不会包含任何其他的元素或属性。 什么是简易元素 ? 简易元素指那些仅包含文本的元素。它不会包含任何其他的元素或属性。 不过,"仅包含文本"这个限定却很容易造成误解。文本有很多类型。它可以是 XML Schema 定义中包括的类型中的一种(布尔、字符串、数据等等),或者它也可以是您自行定义的定制类型。 您也可向数据类型添加限定(即 facets),以此来限制它的内容,或者您可以要求数据匹配某种特定的模式。 定义简易元素的语法: <xs:element name="xxx" type="yyy"/> 此处 xxx 指元素的名称,yyy 指元素的数据类型。XML Schema 拥有很多内建的数据类型。 最常用的类型是: xs:string xs:decimal xs:integer xs:boolean xs:date xs:time 这是一些 XML 元素: <lastname>Refsnes</lastname> <age>36</age> <dateborn>1970-03-27</dateborn> 这是相应的简易元素定义: <xs:element name="lastname" type="xs:string"/> <xs:element name="age"

element input 封装;避免双向数据流

主宰稳场 提交于 2020-11-30 12:05:03
子组件 其实element的 @input 并不是原生的input 而是基于原生已封装好的值 <template> <div> <el-input :value="localValue" @input="test" size="small"></el-input> <div class="tag">输入多个标签时,请使用英文;区分,最多输入5个标签</div> </div> </template> <script> export default { // model: { // prop: "value", // event: "input" // }, props: ["value"], data() { return {} }, computed: { localValue() { return this.value } }, mounted() { }, methods: { test(a) { console.log(a); this.$emit("input", a) } } } </script> <style scoped lang='scss'> .tag { font-size: 12px; color: red; } </style> 父组件 <tag v-model=questionDTO.tagStr id="tag"></tag> 另外可以参考这篇博文:

阻塞队列

自闭症网瘾萝莉.ら 提交于 2020-11-30 04:04:44
阻塞队列: ArrayBlockingQueue :一个由数组结构组成的有界阻塞队列。 LinkedBlockingQueue :一个由链表结构组成的有界阻塞队列。 LinkedBlockingDeque:一个由链表结构组成的有界双向阻塞队列。 LinkedTransferQueue:一个由链表结构组成的无界阻塞队列。 SynchronousQueue:一个不存储元素的阻塞队列。 PriorityBlockingQueue :一个支持优先级排序的无界阻塞队列。 DelayQueue:一个使用优先级队列实现的无界阻塞队列。 阻塞队列( BlockingQueue )是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。 1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。 阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。阻塞队列就是生产者用来存放元素、消费者用来获取元素的容器。 下表是阻塞队列的部分方法: 方法\处理方式 抛出异常 返回特殊值 一直阻塞 超时退出 插入方法 add(e) offer(e) put(e) offer(e,time,unit) 移除方法 remove() poll() take()

阻塞队列知道吗

不打扰是莪最后的温柔 提交于 2020-11-30 02:36:34
一,阻塞队列? 当阻塞队列为空时,获取(take)操作是阻塞的;当阻塞队列为满时,添加(put)操作是阻塞的。        二,为什么用,有什么好处? 阻塞队列不用手动控制什么时候该被阻塞,什么时候该被唤醒,简化了操作。 在多线程领域:所谓阻塞,在某些情况下会挂起线程(即阻塞),一旦条件满足,被挂起的线程又会自动被唤醒 好处是我们不需要关心什么时候需要阻塞线程,什么时候需要唤醒线程,因为这一切BlockingQueue都一手包办了;在concurrent 包发布以前,在多线程环境下,我们每个程序员都必须去自己控制这些细节,尤其还要兼顾效率和线程安全,会给我们程序带来不小的复杂度 三,架构梳理与种类分析 (1)种类分析 ArrayBlockingQueue:由 数组 结构组成的 有界 阻塞队列。 LinkedBlockingQueue:由 链表 结构组成的 有界 (大小默认为Integer.MAX_VALUE)阻塞队列。 PriorityBlockingQueue:支持优先级排序的无界阻塞队列。 DelayBlockingQueue:使用优先级队列实现的延迟无界阻塞队列。 SynchronousQueue:不存储元素的阻塞队列,也即单个元素的队列。 LinkedTransferQueue:由链表结构组成的无界阻塞队列。 LinkedBlockingDeque

pthon爬虫(9)--Selenium的用法

戏子无情 提交于 2020-11-29 05:00:15
简介 Selenium 是什么?一句话,自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。换句话说叫 Selenium 支持这些浏览器驱动。 安装 首先安装 Selenium pip install selenium==2.48.0 selenium的版本问题,使用 pip install selenium 显示默认安装的是 3.8.1 版本,新版本Selenium和PhantomJS不兼容 初步体验 from selenium import webdriver browser = webdriver.Chrome() browser.get( ' http://www.baidu.com/ ' ) 运行这段代码,会自动打开浏览器,然后访问百度。 如果程序执行错误,浏览器没有打开,那么应该是没有装 Chrome 浏览器或者 Chrome 驱动没有配置在环境变量里。下载驱动,然后将驱动文件路径配置在环境变量即可。 模拟提交 下面的代码实现了模拟提交提交搜索的功能,首先等页面加载完成,然后输入到搜索框文本,点击提交。 from selenium import webdriver from selenium.webdriver.common