- 如何在无头模式下运行WebDriver
爱码小士
如何在无头模式下运行WebDriver?如果您的CI工具(例如Jenkins)不支持UI,则可能需要这样做。在无头模式下运行WebDriver自动测试在测试执行速度和更轻松地集成到CI管道方面具有优势。下面,我们将使用PhantomJS和ChromeDriver以无头模式运行SeleniumWebDriver测试。PhantomJS要使用PhantomJS以无头模式运行WebDriver测试,首先
- Phantomjs生成PDF遇到的问题
芭拉拉小魔仙
jsjavascript前端node.js
最近使用Phantomjs生成PDF,其中遇到一些问题,导致PDF生成失败,如出现空白文件或一页数据量太大,都是由于没有设置好格式导致。特别是分页问题,感觉资料很少,除了在StackOverflow上看到些许资料外,中文社区基本看不到,附上修改后的rasterize.js来做讲解:varpage=require('webpage').create(),system=require('system'
- Ambari——编译——解决解决windows和linux下phantomjs链接超时问题
空了虾摸索
Ambariambari-排错ambariwindowslinux
您的支持是我继续创作与分享的动力源泉!!!您的支持是我继续创作与分享的动力源泉!!!您的支持是我继续创作与分享的动力源泉!!!错误日志:[INFO]CopyingextractedfolderC:\Users\LENOVO\AppData\Local\Temp\phantomjs\phantomjs-2.1.1-windows.zip-extract-1786692611821\phantomjs
- python 爬虫 selenium_Python爬虫获取cookie:利用selenium
weixin_39861905
python爬虫selenium
下载、安装selenium下载地址:https://pypi.python.org/pypi/selenium目前的版本是:3.0.0b2支持:Firefox,Chrome,InternetExplorer,PhantomJSjar包的下载:selenium-3.0.0b2.tar.gz解压selenium-3.0.0b2.tar.gz,进入selenium-3.0.0b2目录,执行pythons
- 【Java】电子凭证-Java生成PDF
hkk666123
JavaHTML转PDFhtmlTOPDF
文章目录背景实现思路技术方案图TemplateEngines(模板引擎)`Thymeleaf``ApacheFreemarker``GroovyTemplates``velocity``HTMLTOPDF`技术各实现对比表WKhtmlTOpdfiTextPhantomJS技术核心:HTML生成PDF背景在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等。方
- Python学习之路-爬虫提高:selenium
geobuins
python学习爬虫
Python学习之路-爬虫提高:selenium什么是seleniumSelenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏PhantomJS的介绍PhantomJS是一个基于Webkit的“无界面”(h
- Vue2.x源码:开启源码调试环境
HaanLen
vue源码解析vue.jsjavascript前端
gitHub上克隆或者直接下载压缩包链接:https://github.com/vuejs/vue此次源码版本为
[email protected]#安装依赖npmi#安装rollup:npmi-grollup发现npmi安装失败(在Mac上操作存在);执行
[email protected]再执行npmi执行安装成功package.json文件修
- Ubuntu 16.04 安装PhantomJS
Sirius1215
下载PhantomJShttp://phantomjs.org/download.html找到对应的压缩包,一般是phantomjs-2.1.1-linux-x86_64.tar.bz2上传到服务器,并解压#tar-xjvf/home/portal/software/phantomjs-2.1.1-linux-x86_64.tar.bz2解压后的文件会放到服务器根目录下,使用mv命令移动到想要放置
- 爬虫框架Scrapy之模拟登录淘宝
whele
模拟登录淘宝Selenium+PhantomJSfromseleniumimportwebdriverdriver=webdriver.PhantomJS()driver.get(“https://login.taobao.com/member/login.jhtml“)driver.find_element_by_id("TPL_username_1").clear()driver.find_e
- python 爬虫
Oppenheim
之前写过一些简单的爬虫就是爬一下最新的公告,直接用requests库Get一下然后beautifulsoup去找就可以找到了,其他的处理就是处理html的东西了。但是昨天有个任务是,按原来的方法打开,啥也看不到,原来是个动态网站靠js注入执行的,想到以前的东西了,无头浏览器。phantomJS,然后稍微配置了一下运行,发现webdriver已经放弃phantomJS了。在动态网页的解析上还是考we
- 三十一. Selenium + PhantomJS的配合使用
橄榄的世界
Selenium:用于模拟真实用户在浏览器中操作。对于一些采用异步加载技术的网页,如果难以用抓包来构造爬虫,可以通过Selenium让浏览器自动加载页面,从而获取所需的数据。PhantomJS:无界面浏览器,相比Chrome,Firefox等浏览器,意味着开销小,速度快。可直接在官网上下载:http://phantomjs.org/1.PhantomJS的安装①下载PhantomJS文件后,解压并
- python echarts 热力图_pyecharts日历热力图
weixin_39851279
pythonecharts热力图
pyecharts是一个用于生成Echarts图表的类库Echarts是百度开源的一个数据可视化JS库pyecharts中文文档pyecharts已发布1.0版本,绘图部分代码已经重构,文中的代码虽然能用但已经落伍了,随缘更新一、安装pyechartspipinstallpyecharts在安装pyecharts之后,需要安装pyecharts-snapshot包,还需要配置phantomjs环境
- 解决npm安装phantomjs失败
ziyue7575
npm前端node.js
失败信息Progress:resolved102,reused102,downloaded0,added0,done.pnpm/
[email protected]/node_modules/phantomjs:Runninginstallscript,failedin21.3s.../node_modules/phantomjsinstall$nodeinstall.js│PhantomJSnotfo
- SPA单页面的讲解(超级详细)
贫僧法号依平
css3vue.jshtml5前端前端框架html
目录一、什么是SPA二、SPA和MPA的区别单页应用与多页应用的区别单页应用优缺点三、实现一个SPA原理实现hash模式history模式四、题外话:如何给SPA做SEOSSR服务端渲染静态化使用Phantomjs针对爬虫处理一、什么是SPASPA(single-pageapplication),翻译过来就是单页应用SPA是一种网络应用程序或网站的模型,它通过动态重写当前页面来与用户交互,这种方法
- Failed at the [email protected] install script.
Webgiserin
前端
- selenium phantomjs 获取链接
VictorChi
获取链接属性importtimefromseleniumimportwebdriverdriver=webdriver.Chrome()driver.maximize_window()driver.implicitly_wait(6)driver.get("https://www.baidu.com")time.sleep(1)#获取多个链接forlinkindriver.find_element
- 老司机要开车了!用Selenium+PhantomJS来抓取煎蛋网妹子图
云飞学编程
那天有朋友找我一起抓妹子图片,像我这么正派的人,肯定是要抱着学习的目的......打开网页,哇!又...又要上火了。。。。话不多说,先看看网页吧!熟练的打开网页,找到妹子图,然后F12打开开发者工具,定位,ok,图片地址找到了,soeasy~!,我们写入代码看看WTF~!返回了个空列表?加了header也是这样,为啥呢,来打开源码看看原来是js数据,这就麻烦了,难道先去学习下js语法,拿js文件,
- 爬亚马逊评论-2018-10-16
11的雾
如果需要模拟浏览器点击效果则:driver=webdriver.Chrome('/cygene/script/test/chromedriver')#ordriver=webdriver.PhantomJS('/cygene/software/phantomjs-2.1.1-linux-x86_64/bin/phantomjs')##################################
- Phantomjs+Java+springboot实现后端截图
芭比萌妹
服务器端网页截图javaspringboot开发语言
一、phantomjs介绍(1)一个基于webkit内核的无界面浏览器,即没有UI界面,即它就是一个浏览器,只是其内的点击、翻页等人为相关操作需要程序设计实现。(2)提供javascriptAPI接口,即通过编写js程序可以直接与webkit内核交互,在此之上可以结合java语言等,通过java调用js等相关操作,从而解决了以前c/c++才能比较好的基于webkit开发优质采集器的限制。(3)提供
- OSError: [Errno 9] Bad file descriptor
海上的程序猿
pythonpythonseleniumphantomjs
在使用selenium+PhantomJS时遇到这个问题,为了自己将来再次遇到可以方便查找,也为了方便他人,故记下此事。driver.quit()和driver.close()仅仅会关闭Pythondriver进程,而留下PhantonJS进程仍在继续进行。Github讨论上有关这个问题的讨论,有兴趣的可以去看一下。当前对我来说,最便捷的解决方案是:importsignaldriver.servi
- ELK 分离式日志
伍dLu
elk
目录一.ELK组件ElasticSearch:Kiabana:Logstash:可以添加的其它组件:ELK的工作原理:二.部署ELK节点都设置Java环境:每台都可以部署Elasticsearch软件:修改elasticsearch主配置文件:性能调优参数:修改内核参数文件:访问页面查看节点信息及状态:每台安装Elasticsearch-head插件:安装phantomjs:安装Elasticse
- 无界面自动化测试(IDEA+Java+Selenium+testng)(PhantomJS)
清冬暖雪
Web自动化intellij-ideaseleniumjava
自动化测试(IDEA+Java+Selenium+testng)(PhantomJS)_phantomjs怎么写js脚本idea-CSDN博客上述连接是参考:现在如果按照如上链接进行操作大概率会失败,下面会针对如上链接的部分步骤做出修改1、在pom.xml文件中需要使用低版本selenium-java依赖包,目前我使用的是4.13.0版本的所以在运行时铁定失败,目前除了降低selenium-jav
- 爬虫漫游指南:无头浏览器puppeteer的检测攻防
AI视客
1.引言许多爬虫初学者在接触到无头浏览器的时候都会有一种如获至宝的感觉,仿佛看到了爬虫的终极解决方案。无论是所有爬虫教程中都会出现的PhantomJS、Selenium,亦或是相对冷门的Nightmare,到后来居上的Puppeteer,都能够作为爬虫工程师的利刃,撕开反爬的一道道屏障。无头浏览器难道就是爬虫的终点了吗?那必然不是,否则各位爬虫工程师就只值3000块一个月了。首先,无论多强大多轻便
- 记录学习phantomjs+echarts-convert.js 生成图表图片过程
33cd82ad2276
转载自:http://www.5180it.com/bbs/admin/1/126060.html最近项目中要生成统计报表,并导出word,但是我们一般的报表都是通过echarts在浏览量生成,所以我们无法直接导出,所以这里借助了phantomjs帮我生成,此处都是使用最新的版本phantomjs-2.1.1,特此记录1.Phantomjs:下载:https://phantomjs.org/dow
- Docker安装PhantomJS给网页截图
严北
环境Docker安装拉取PhantomJS(后面简称PJS)镜像(第三方):dockerpullwernight/phantomjs:2截图代码打开https://baidu.com,截图并保存为test.pngscreenshot.jsvarpage=require('webpage').create();page.open('https://baidu.com',function(){page
- C#Selenium WebDriver备忘录
李建军
c#selenium开发语言
初始化//谷歌浏览器usingOpenQA.Selenium.Chrome;IWebDriverdriver=newChromeDriver();//火狐浏览器usingOpenQA.Selenium.Firefox;IWebDriverdriver=newFirefoxDriver();//PhantomJS浏览器usingOpenQA.Selenium.PhantomJS;IWebDriver
- BurpSuite-PhantomJS搭配xssValidator进行自动化xss测试
小浪崇礼
安装PhantomJShttps://phantomjs.org/download.html下载Windows版本,目前官网最新版本是2.1.1-17.4MB,下载之后解压,建议单独放在一个目录然后配置系统环境变量,我这里测试的目录是C:\tools\phantomjs-2.1.1-windows\bin通过github下载xssValidatorgitclonehttps://github.co
- 基于python的音乐数据分析可视化
程序员奇奇
python实战100例pythonpandas数据分析爬虫
MacOSSierra10.12.1Python2.7selenium3.4.3phantomjs前言发现自己有时候比挖掘别人来的更加有意义,自己到底喜欢谁的歌,自己真的知道么?习惯不会骗你搭建爬虫环境1.安装seleniumpipinstallselenium#anaconda环境的可用condainstallselenium#网速不好的可用到https://pypi.python.org/py
- 安装node_sass遇到的问题
潇豪
方法一:使用淘宝镜像macOS系统直接运行下面的命令即可:SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/npminstallnode-sass在项目内添加一个.npmrc文件:sass_binary_site=https://npm.taobao.org/mirrors/node-sass/phantomjs_cdnurl=ht
- npm常见错误
程序员 Hasity
52bugnpm前端node.js
三个方面1.npmERR!codeELIFECYCLEnpmERR!errno1npmERR!codeELIFECYCLEnpmERR!errno1npmERR!phantomjs-prebuilt@2.1.15install:`nodeinstall.js`npmERR!Exitstatus1npmERR!npmERR!Failedatthephantomjs-prebuilt@2.1.15in
- 深入浅出Java Annotation(元注解和自定义注解)
Josh_Persistence
Java Annotation元注解自定义注解
一、基本概述
Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。
更通俗的意思是为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且是供指定的工具或
- mysql优化特定类型的查询
annan211
java工作mysql
本节所介绍的查询优化的技巧都是和特定版本相关的,所以对于未来mysql的版本未必适用。
1 优化count查询
对于count这个函数的网上的大部分资料都是错误的或者是理解的都是一知半解的。在做优化之前我们先来看看
真正的count()函数的作用到底是什么。
count()是一个特殊的函数,有两种非常不同的作用,他可以统计某个列值的数量,也可以统计行数。
在统
- MAC下安装多版本JDK和切换几种方式
棋子chessman
jdk
环境:
MAC AIR,OS X 10.10,64位
历史:
过去 Mac 上的 Java 都是由 Apple 自己提供,只支持到 Java 6,并且OS X 10.7 开始系统并不自带(而是可选安装)(原自带的是1.6)。
后来 Apple 加入 OpenJDK 继续支持 Java 6,而 Java 7 将由 Oracle 负责提供。
在终端中输入jav
- javaScript (1)
Array_06
JavaScriptjava浏览器
JavaScript
1、运算符
运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)、算术运算符(+,-,*,/,++,--,%)、比较运算符(>,<,<=,>=,==,===,!=,!==)、逻辑运算符(||,&&,!)、条件运算(?:)、位
- 国内顶级代码分享网站
袁潇含
javajdkoracle.netPHP
现在国内很多开源网站感觉都是为了利益而做的
当然利益是肯定的,否则谁也不会免费的去做网站
&
- Elasticsearch、MongoDB和Hadoop比较
随意而生
mongodbhadoop搜索引擎
IT界在过去几年中出现了一个有趣的现象。很多新的技术出现并立即拥抱了“大数据”。稍微老一点的技术也会将大数据添进自己的特性,避免落大部队太远,我们看到了不同技术之间的边际的模糊化。假如你有诸如Elasticsearch或者Solr这样的搜索引擎,它们存储着JSON文档,MongoDB存着JSON文档,或者一堆JSON文档存放在一个Hadoop集群的HDFS中。你可以使用这三种配
- mac os 系统科研软件总结
张亚雄
mac os
1.1 Microsoft Office for Mac 2011
大客户版,自行搜索。
1.2 Latex (MacTex):
系统环境:https://tug.org/mactex/
&nb
- Maven实战(四)生命周期
AdyZhang
maven
1. 三套生命周期 Maven拥有三套相互独立的生命周期,它们分别为clean,default和site。 每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和Maven最直接的交互方式就是调用这些生命周期阶段。 以clean生命周期为例,它包含的阶段有pre-clean, clean 和 post
- Linux下Jenkins迁移
aijuans
Jenkins
1. 将Jenkins程序目录copy过去 源程序在/export/data/tomcatRoot/ofctest-jenkins.jd.com下面 tar -cvzf jenkins.tar.gz ofctest-jenkins.jd.com &
- request.getInputStream()只能获取一次的问题
ayaoxinchao
requestInputstream
问题:在使用HTTP协议实现应用间接口通信时,服务端读取客户端请求过来的数据,会用到request.getInputStream(),第一次读取的时候可以读取到数据,但是接下来的读取操作都读取不到数据
原因: 1. 一个InputStream对象在被读取完成后,将无法被再次读取,始终返回-1; 2. InputStream并没有实现reset方法(可以重
- 数据库SQL优化大总结之 百万级数据库优化方案
BigBird2012
SQL优化
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。
这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where
- jsonObject的使用
bijian1013
javajson
在项目中难免会用java处理json格式的数据,因此封装了一个JSONUtil工具类。
JSONUtil.java
package com.bijian.json.study;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
- [Zookeeper学习笔记之六]Zookeeper源代码分析之Zookeeper.WatchRegistration
bit1129
zookeeper
Zookeeper类是Zookeeper提供给用户访问Zookeeper service的主要API,它包含了如下几个内部类
首先分析它的内部类,从WatchRegistration开始,为指定的znode path注册一个Watcher,
/**
* Register a watcher for a particular p
- 【Scala十三】Scala核心七:部分应用函数
bit1129
scala
何为部分应用函数?
Partially applied function: A function that’s used in an expression and that misses some of its arguments.For instance, if function f has type Int => Int => Int, then f and f(1) are p
- Tomcat Error listenerStart 终极大法
ronin47
tomcat
Tomcat报的错太含糊了,什么错都没报出来,只提示了Error listenerStart。为了调试,我们要获得更详细的日志。可以在WEB-INF/classes目录下新建一个文件叫logging.properties,内容如下
Java代码
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHa
- 不用加减符号实现加减法
BrokenDreams
实现
今天有群友发了一个问题,要求不用加减符号(包括负号)来实现加减法。
分析一下,先看最简单的情况,假设1+1,按二进制算的话结果是10,可以看到从右往左的第一位变为0,第二位由于进位变为1。
 
- 读《研磨设计模式》-代码笔记-状态模式-State
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类
状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况
把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化
如果在
- CUDA程序block和thread超出硬件允许值时的异常
cherishLC
CUDA
调用CUDA的核函数时指定block 和 thread大小,该大小可以是dim3类型的(三维数组),只用一维时可以是usigned int型的。
以下程序验证了当block或thread大小超出硬件允许值时会产生异常!!!GPU根本不会执行运算!!!
所以验证结果的正确性很重要!!!
在VS中创建CUDA项目会有一个模板,里面有更详细的状态验证。
以下程序在K5000GPU上跑的。
- 诡异的超长时间GC问题定位
chenchao051
jvmcmsGChbaseswap
HBase的GC策略采用PawNew+CMS, 这是大众化的配置,ParNew经常会出现停顿时间特别长的情况,有时候甚至长到令人发指的地步,例如请看如下日志:
2012-10-17T05:54:54.293+0800: 739594.224: [GC 739606.508: [ParNew: 996800K->110720K(996800K), 178.8826900 secs] 3700
- maven环境快速搭建
daizj
安装mavne环境配置
一 下载maven
安装maven之前,要先安装jdk及配置JAVA_HOME环境变量。这个安装和配置java环境不用多说。
maven下载地址:http://maven.apache.org/download.html,目前最新的是这个apache-maven-3.2.5-bin.zip,然后解压在任意位置,最好地址中不要带中文字符,这个做java 的都知道,地址中出现中文会出现很多
- PHP网站安全,避免PHP网站受到攻击的方法
dcj3sjt126com
PHP
对于PHP网站安全主要存在这样几种攻击方式:1、命令注入(Command Injection)2、eval注入(Eval Injection)3、客户端脚本攻击(Script Insertion)4、跨网站脚本攻击(Cross Site Scripting, XSS)5、SQL注入攻击(SQL injection)6、跨网站请求伪造攻击(Cross Site Request Forgerie
- yii中给CGridView设置默认的排序根据时间倒序的方法
dcj3sjt126com
GridView
public function searchWithRelated() {
$criteria = new CDbCriteria;
$criteria->together = true; //without th
- Java集合对象和数组对象的转换
dyy_gusi
java集合
在开发中,我们经常需要将集合对象(List,Set)转换为数组对象,或者将数组对象转换为集合对象。Java提供了相互转换的工具,但是我们使用的时候需要注意,不能乱用滥用。
1、数组对象转换为集合对象
最暴力的方式是new一个集合对象,然后遍历数组,依次将数组中的元素放入到新的集合中,但是这样做显然过
- nginx同一主机部署多个应用
geeksun
nginx
近日有一需求,需要在一台主机上用nginx部署2个php应用,分别是wordpress和wiki,探索了半天,终于部署好了,下面把过程记录下来。
1. 在nginx下创建vhosts目录,用以放置vhost文件。
mkdir vhosts
2. 修改nginx.conf的配置, 在http节点增加下面内容设置,用来包含vhosts里的配置文件
#
- ubuntu添加admin权限的用户账号
hongtoushizi
ubuntuuseradd
ubuntu创建账号的方式通常用到两种:useradd 和adduser . 本人尝试了useradd方法,步骤如下:
1:useradd
使用useradd时,如果后面不加任何参数的话,如:sudo useradd sysadm 创建出来的用户将是默认的三无用户:无home directory ,无密码,无系统shell。
顾应该如下操作:
- 第五章 常用Lua开发库2-JSON库、编码转换、字符串处理
jinnianshilongnian
nginxlua
JSON库
在进行数据传输时JSON格式目前应用广泛,因此从Lua对象与JSON字符串之间相互转换是一个非常常见的功能;目前Lua也有几个JSON库,本人用过cjson、dkjson。其中cjson的语法严格(比如unicode \u0020\u7eaf),要求符合规范否则会解析失败(如\u002),而dkjson相对宽松,当然也可以通过修改cjson的源码来完成
- Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解
yaerfeng1989
timerquartz定时器
原创整理不易,转载请注明出处:Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解
代码下载地址:http://www.zuidaima.com/share/1772648445103104.htm
有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz。
1.Java Timer定时
首先继承jav
- Linux下df与du两个命令的差别?
pda158
linux
一、df显示文件系统的使用情况,与du比較,就是更全盘化。 最经常使用的就是 df -T,显示文件系统的使用情况并显示文件系统的类型。 举比例如以下: [root@localhost ~]# df -T Filesystem Type &n
- [转]SQLite的工具类 ---- 通过反射把Cursor封装到VO对象
ctfzh
VOandroidsqlite反射Cursor
在写DAO层时,觉得从Cursor里一个一个的取出字段值再装到VO(值对象)里太麻烦了,就写了一个工具类,用到了反射,可以把查询记录的值装到对应的VO里,也可以生成该VO的List。
使用时需要注意:
考虑到Android的性能问题,VO没有使用Setter和Getter,而是直接用public的属性。
表中的字段名需要和VO的属性名一样,要是不一样就得在查询的SQL中
- 该学习笔记用到的Employee表
vipbooks
oraclesql工作
这是我在学习Oracle是用到的Employee表,在该笔记中用到的就是这张表,大家可以用它来学习和练习。
drop table Employee;
-- 员工信息表
create table Employee(
-- 员工编号
EmpNo number(3) primary key,
-- 姓