selenium Cannot call non W3C standard command while in W3C mode解决

在使用selenium进行UI自动化,控制页面做上下滑动的时候遇到了如下报错selenium.common.exceptions.WebDriverException: Message: unknown command: Cannot call non W3C standard command while in W3C mode

解决方法:

opt =webdriver.ChromeOptions()
opt.add_experimental_option('w3c',False)
dr= webdriver.Chrome(chrome_options=opt)

 

 


关注公众号,了解更多it技术(it问答网

5种方法,加密你的Python代码

Python越来越热门了,2019年3月TIOBE编程语言排行榜上,Python更是罕见的击败了“霸榜三巨头”之一的C++,挤进前三。

Python优点很多,比如简单易学,代码量少,能做的事很多等等,和其他语言一样,Pyhton也有一些不可掩盖的缺点,版本不兼容,运行效率不高等等。

其中一个缺点,让不少开发者头疼不已,由于Python解释器开源的关系,导致Python代码无法加密,代码的安全性得不到保障。

当然,想要加密Python代码,也并非无解。最常见的加密方式有4种,还有1种独特的加密方式。

1

Python解释器在执行代码的过程中,会首先生成.pyc文件,然后再解释执行.pyc中的内容,当然,解释器也能直接执行.pyc文件。

.pyc文件是一个二进制的文件,是不具备可读性的。

假如我们发到客户环境时,是.pyc文件,而不是.py,那么是不是就可以保护我们的Python代码?

想要做到这一点,并不难。Python标准库就提供了一个名叫compileall的库,使用它就可以做到。

执行如下命令,即可将<src>目录下的所有.py文件编译成.pyc文件:

python -m compileall <src> 然后删除 <src> 目录下所有 .py 文件就可以了。

$ find <src> -name ‘*.py’ -type f -print -exec rm {} \;

这一方法,可以加密我们的Python代码,胜过代码裸在外面。尴尬的是,因为Python解释器的兼容较差,有些版本并不能运行.pyc文件。而且已经有现成的反编译工具,可以直接破解。

比如python-uncompyle6(「链接」),只要执行以下命令,就可以搞定。

$ uncompyle6 *compiled-python-file-pyc-or-pyo*

2

代码混淆,也是一种常见的“加密”方式,严格意义上说,这一方法并不是加密,而是上代码的可读性变差。比如删除注释,添加毫无意义的注释,添加无效代码,对变量、函数、类进行重命名等。

内容不可读,代码就受到了保护。

代码混淆的工具很多,一个比较好用的混淆库是pyobfuscate(GitHub – astrand/pyobfuscate: pyobfuscate)。这个库可以对类、函数进行重命名,并且插入无关的代码,甚至自动加空格等等。

这一方法很简单,也提高了破解的门槛。但由于代码结构未发生变化,字节码也能获取,破解难度也不高。

一般而言,使用这一方式较为简单,实用。

3

如果有一款工具,可以将Python脚本打包成在某一平台的可执行文件,最终我们发行的,是一份打包完成的二进制文件,那么程序就更难被破解了?

py2exe(FrontPage – py2exe.orgFrontPage – py2exe.org)就是一款很好的打包工具,可以将Python脚本打包成可在Windows上运行的文件。

这一方式的优点是进一步提高了破解门槛。遗憾的是,你只能在windows上运行它。

4

Python运行速度慢何解?用Cython就可以带来性能的提升。实际上,Cython也可以用来加密Python代码。

Cython的原理是,将.py编译为.c文件,再将.c文件编译为.so或者.pyd,这样一来,文件就变得难以破解了。

这样做的好处是,Python代码很难被破解,缺点是有时候,Cython可能不支持一小部分代码,完善起来就比较麻烦了。

5

最后一种方法,做得比较绝。

由于Python是解释型语言,因此在发行Python程序的时候,就必须包含一个Python解释器,如果我们修改这个解释器,代码不就被保护起来了吗?

如果我们能对最原始的Python代码进行加密,加密后的代码被发行后。哪怕被别人看到了,但因为不晓得算法是怎样的,就破解不了了。

这是因为Python解释器本身是一个二进制文件,自然也就无法获得关键性的数据,进而保护了源码。

虽然这一方法最为安全,可操作难度较高。你必须掌握基本的加解密算法,还要探究Python执行代码的方式,从而了解到从什么地方进行加解密。最后禁用字节码,以防通过.pyc反编译即可。

以上五种加密方式,有利有弊,有难有易,根据需求选择就可以了。


关注公众号,了解更多it技术(it问答网

Python硬件——让你只要会python就能创作任何智能设备

近年来Python语言越来越火,不管是在企业招聘信息还是在IT教育机构招生广告中Python出现的频率都越来越高,更重要的是Python已经开始进入中小学课堂,就连高考题目中都出现了Python的身影!由于Python的热度越来越高,以至于少儿编程领域也纷纷推出Python编程课程。Python在实际应用中真的那么广泛吗?少儿学Python真的有必要?我们可以从Python硬件开发中看出一二。

Python硬件是在单片机上可以跑的Python,也就是说,你可以通过Python脚本语言开发单片机程序。它和Arduino类似,但Python硬件更强大。它的语法跟Python3基本一致,拥有自家的解析器、编译器、 虚拟机和类库等。

Python硬件能干什么

既然Python硬件是用Python语言能来控制单片机,那么单片机能做什么基本能反映出它能做什么。还是让我们一起看一下单片机能干什么?

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:

2.1 智能仪器

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。 例如精密的测量设备(电压表、功率计,示波器,各种分析仪)。

2.2 工业控制

单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、数据采集系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等应用控制系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

2.3 家用电器

现在的家用电器广泛采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备和白色家电等。

2.4 网络和通信

现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

2.5此外,单片机在工商、金融、科研、教育、电力、通信、物流和国防航空航天等领域都有着十分广泛的用途。

随着人工智能技术的发展与普及,未来智能机械设备,智能家具等会越来越多的出现在我们工作生活中,我们的工作生活方式也会出现颠覆性的变革,更多的人需要由设备的操作者变成开发者。因此基于未来人工智能时代的需求,及国家对编程教育的重视,少儿编程不可避免的成为青少儿教育的热点。

如果希望自己的孩子今早接受少儿编程教育,找一家靠谱的少儿编程机构是必要的。人人编程就是一家很用心的少儿编程教育机构。

人人编程核心优势

1、两大技术主线

定位人工智能(AI)与虚拟现实(VR/AR/MR)两大技术主线方向,结合专业的无人车、深度学习、神经网络、机器人等人工智能领域,ZSpace、HTC Vive等虚拟现实领域,Arduino开源电子原型平台等外部设备领域,进行编程课程的融合开发设计,提升中国青少儿编程教育视野与高度,发现孩子天赋和特质,激发潜能和动力。

2、全新课程体系

整合国内外66名软件开发专家、30名美国硅谷IT顾问、20名教育学专家、3大资深课程设计团队,将人工智能(AI)与虚拟现实(VR/AR/MR)技术,紧密结合中小学教科书,自主全新研发“启蒙编程”、“代码编程”、“竞赛编程”3大专业课程体系。

启蒙编程

代码编程–图形化游戏编程

代码编程–图形化硬件编程

代码编程–Python智能硬件编程

3、四大专业平台

整合华为、腾讯、百度、Oracle(甲骨文)、微软、Unity、中电普华等国际知名IT企业资源,在郑州、深圳、西安、加拿大投资建设四大研发中心,拥有自主开发设计、独立知识产权的NEO图形化编程引擎、MES代码编程引擎、TUTU在线编程学习创作发布平台、DUDU信息学竞赛技术服务四大专业平台。

 

http://www.sohu.com/a/301226356_120048001


关注公众号,了解更多it技术(it问答网