Python+selenium 获取浏览器窗口坐标、句柄

1.0 获取浏览器窗口坐标 python目录可找到Webdriver.py 文件定义了get_window_rect()函数,可获取窗口的坐标和大小(长宽),但出现”Command not found”的情况。set_window_rect()函数也一样。 def get_window_rect(self): """ Gets the x, y coordinates of...
分类: 其他 发布时间: 05-17 23:19 阅读次数: 4

Python+Appium自动化环境搭建(Android SDK)

1.0 工具 Android SDK 下载地址: http://tools.android-studio.org/index.php/sdk Appium-desktop 下载地址: https://github.com/appium/appium-desktop/releases 2.0 安装Android SDK 推荐下载zip格式,直接解压到目录下即可,不推荐C盘,因为之后下载...
分类: 其他 发布时间: 05-17 23:19 阅读次数: 4

各种条件控制语句的smali表达

调用部分.method protected onCreate(Bundle)V .registers 6 .param p1, "savedInstanceState" .prologue 00000000 invoke-super AppCompatActivity->onCreate(Bundle)V, p0,
分类: 其他 发布时间: 05-17 23:18 阅读次数: 5

Smali常用语法

信息来源于网络博客和文档整理而来,如有雷同纯属抄袭(斜眼笑) Smali基本语法 .field private isFlag:z  定义变量 .method  方法 .parameter  方法参数 .prologue  方法开始 .line n  此方法位于第n行 invoke-super  调用父函数 const/high16 v0, 0x0001  把0x0001赋值给v0 invoke-d
分类: 其他 发布时间: 05-17 23:18 阅读次数: 5

Android短信发送相关的恶意行为

SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(phoneNumber, null, text, null, null);先说几个发短信相关的API ArrayList<String> divideMessage(String text) 这个方法把一个消息文本分成几个片段,最大不能大于短信大
分类: 其他 发布时间: 05-17 23:18 阅读次数: 7

关于遍历Android手机中应用的问题

先拿到应用列表List v3 = arg5.getPackageManager().getInstalledPackages(0);然后遍历这个列表,即可获得所以手机在安装的应用 但是有时候为了区分系统应用还后来安装的应用,可以使用如下办法:ApplicationInfo appInfo = p.applicationInfo; /** * Value for {@link #f
分类: 其他 发布时间: 05-17 23:18 阅读次数: 4

Android锁屏以及锁键盘(锁触摸)

WalkLock.isHeld() //判断屏幕是否上锁 WalkLock.acquire() //在屏幕休眠的状态下唤醒屏幕 WalkLock.release() //在屏幕点亮的状态下,使屏幕休眠。KeygroundManager.inKeyguardRestrictedInputMode() //返回true表示键盘锁住, 返回false表示键盘解锁中 KeyguardLo
分类: 其他 发布时间: 05-17 23:17 阅读次数: 7

关于使用runtime执行root权限命令的问题

背景是这样的,有个客户手机中毒了,常规查杀失效,遂需要一个专杀,说白点就是定位恶意APK包,然后删除之,但是发现该病毒最终安装在了/system/priv_app目录下,该目录权限较高,要是root权限才能删除。 最开始我想到找到apk的绝对路径,然后使用"su rm apk_path"一条命令应该就能搞定了,然而并不能,并没有报错或是异常,反正就是删不掉(弹出root授权窗口了),然后半
分类: 其他 发布时间: 05-17 23:17 阅读次数: 5

s2-045分析

前提需要了解下Struts2的运行机制(1) Struts2的核心是一个Filter,Actionfff可以脱离web容器,那么是什么让http请求和action关联在一起的?(2)Struts2默认使用的是StrutsPrepareAndExecuteFilter类来替代FilterDispatcher类(3)创建一个Struts2工程,默认使用这个过滤器,并生成如下配置 f1. <* fi
分类: 其他 发布时间: 05-17 23:17 阅读次数: 4

MacOS Sierra 10.12安装metasploit(坑是真滴多)

主要参照着两篇博文: http://www.jianshu.com/p/95e585684c57 http://www.freebuf.com/articles/system/36924.html 但是Sierra 10.12教你做人(斜眼笑)具体每一步不说了,参照上面两篇文章,说下坑: (1)先是brew使用异常,由于Sierra 10.12可能更新了某些安全策略,导致无法sudo bre
分类: 其他 发布时间: 05-17 23:17 阅读次数: 5

uWSGI+Nginx部署Flask项目

前言内部需要每天出一版数据,而每天都需要我手动打包压缩,然后上传到公司内部的文件共享服务器上,然后我再把共享文件的地址分发出去,贼TM的烦,而且作为一个IT人员感觉这种做法也贼TM的傻逼,所以就花了几天时间学习了一下flask,并完成了一个非常非常简单的系统,用来分发数据,下面主要写一下flask项目的部署问题。 环境 服务器环境:Centos Python:2.7 具体安装过程 Flask F
分类: 其他 发布时间: 05-17 23:16 阅读次数: 4

Gitlab部署及汉化操作

一、简介 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。 二、基础环境准备   2.1 安装依赖包 如想使用Postfix来发送邮件,在安装期间请选择’Intern
分类: 其他 发布时间: 05-17 23:16 阅读次数: 4

vue天坑系列

vue运行四元素:main.js+router/index.js+index.html+App.vue缺一不可;
分类: 其他 发布时间: 05-17 23:16 阅读次数: 5

POJ 1679 The Unique MST(判断最小生成树是否唯一)

题目链接: http://poj.org/problem?id=1679 Description Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spanning Tree): Consider a connected, undirected graph G = (V, E). A spanning tree of G is a subgraph of
分类: 其他 发布时间: 05-17 23:16 阅读次数: 5

微信小程序最新版本已更新下载(1.02.1805160)

微信小程序最新版本已更新下载(1.02.1805160) windows 64 、 windows 32 、 mac 2018.05.16 基础库更新(2.0.8) 1、仅针对开发工具,更新小程序/小游戏转发相关接口,移除转发回调 2018.05.15 基础库更新(2.0.7) A 新增 素材管理功能 详情 A 新增 工具栏右键进行工具栏管理 详情 A 新增 独立窗口显示模拟器和调试器的功能 详情 A 新增 可以在工具栏切换小程序模式和插件模式 A 新增 小程序使用的插件有更新时,在控制台提示
分类: 其他 发布时间: 05-17 23:16 阅读次数: 5

前端基础:HTML标签(下)

前端基础HTML标签(下) 1.表单 表单的功能主要用于向服务器传输数据,从而实现客户端与Web服务器的交互。表单能够包含input系列标签,比如:文本字段、复选框、单选按钮、提交按钮等;表单还包含textarea、select和label标签; 表单的属性:action,将表单数据提交到指定服务器的某个程序,程序收到表单提交过来的数据(即表单数据)做相应处理,比如:https://baidu.com;**method**,表单的提交方式get/post/update等,默认为get; 注意
分类: 其他 发布时间: 05-17 23:16 阅读次数: 4

django-1

一、什么是web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单的说就是你用别人搭建好的舞台来做表演。 web应用的流程: #浏览器发送一个请求 #服务器收到请求,生成一个HTML文档 #服务器把HTML文档作为HTTP响应的Body发送给浏览器 #浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示 二、自行开发一个Web Server框架 对于所有的web应用,本质上其实就是一个sock
分类: 其他 发布时间: 05-17 23:16 阅读次数: 5

如何自定义一个长度可变数组

摘要:本文主要写了如何自定义一个长度可变数组 数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按无序的形式组织起来的一种形式 在定义之初,数组的长度就被定义 新建数组有很多方式 下面两个都可以 但一般书写习惯会选择第一种 1 String[] array = new String[5]; //新建一个长度为5的字符串数组 1 String array[] = new String[5]; // 新建一个长度为5的字符串数组 由于数组的长度一旦初始化就无法改变,所以我们需要另辟思路
分类: 其他 发布时间: 05-17 23:16 阅读次数: 5

奇技淫巧1

一、宏定义简化类变量的Set,Get函数: #define vtkSetMacro(name,type) \ virtual void Set##name (type _arg) \ { \ if (this->name != _arg) \ { \ this->name = _arg; \ } \ } #define vtkGetMacro(name,type) \ virtual type Get##name () { \ return this->name; \ } 通过##连接字符串的
分类: 其他 发布时间: 05-17 23:16 阅读次数: 5

nslookup get public/external IP

nslookup myip.opendns.com resolver1.opendns.com Server: resolver1.opendns.com Address: 208.67.222.222 Non-authoritative answer: Name: myip.opendns.com Address: xxx.xxx.xxx.xxx or curl icanhazip.com
分类: 其他 发布时间: 05-17 23:16 阅读次数: 4