git笔记:提交格式:
常用的git命令 git mv file_from file_to(重命名文件,删除原来的文件,添加新文件到暂存区) git switch 命令专门用于切换分支,可以用来替代 checkout 的部分用途。 git update-index –skip-worktree git branch -u origin/branch 建立当前分支与远程分支的映射关系 git update-index –assume-unchanged git log –all –since “2021-03-01” –oneline –author=”Zhang-Jane” git remote update origin —prune 更新远程分支本地列表 git branch -vv 查看分支映射 git push origin –delete 删除远程分支 git rev-list —all | xargs git grep -F 关键词 git ls-files 查看哪些文件在版本控制下 git clone -b 远程分支名 仓库地址 git blame 查找文件修改者...
Frida的hook脚本:Hook RegisterNatives
Hook RegisterNatives命令frida -U --no-pause -f package_name -l xx.js 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109var ishook_libart = false;function hook_libart() { if (ishook_libart === true) { return; } var symbols = Module.enumerateSymbolsSync("libart.so"); var addrGetStringUTF...
Appium启动多个移动设备:元素的判断
元素的判断from selenium.webdriver.support import expected_conditions as EC expected_condtions提供了16种判断页面元素的方法: 1.title_is:判断当前页面的title是否完全等于预期字符串,返回布尔值 2.title_contains:判断当前页面的title是否包含预期字符串,返回布尔值 3.presence_of_element_located:判断某个元素是否被加到dom树下,不代表该元素一定可见 4.visibility_of_element_located:判断某个元素是否可见,可见代表元素非隐藏,并且元素的宽和高都不为0 5.visibility_of:跟上面的方法是一样的,只是上面需要传入locator,这个方法直接传定位到的element就好 6.presence_of_all_elements_located:判断是否至少一个元素存在于dom树中,举个例子,如果页面上有n个元素的class都是’coumn-md-3’,name只要有一个元素存在,这个方法就返回True 7....
远程连接服务器的一些配置:学习笔记与要点整理
ssh免密连接服务器:生成秘钥: 执行下面命令,默认生成位置是~/.ssh 12ssh-keygenssh-keygen -t rsa -C "youremail@example.com" 系统会询问你文件名和秘钥密码,可以一路回车过去,会生成两个文件: id_rsa 私钥 id_rsa.pub 公钥 连接的客户端:修改 vim ~/.ssh/config,添加如下的信息: 1234567891011121314Host nbUser xxxPort 22HostName xxxxxIdentityFile ~/.ssh/id_rsaIdentitiesOnly yes注释:Host 别名HostName 指定登录的主机名或IP地址Port 指定登录的端口号User 登录用户名IdentityFile 登录的公钥文件IdentitiesOnly 只接受SSH key 登录 把本地的公钥传送到服务器: 1ssh-copy-id -i ~/.ssh/id_rsa.pub xxx@<ip> 个人用户环境配置修改rm...
macOS 安装pyenv遇到的问题
加速pyenv下载将源码下好放在~/.pyenv/cache目录, pyenv检查有源码就会直接使用cache目录里的源码进行安装. 123$ mkdir -pv ~/.pyenv/cache$ wget https://www.python.org/ftp/python/<version>/Python-<version>.tar.xz$ pyenv install <version> 1wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xz pycahrm无法判断pyenv多个python版本https://github.com/concordusapps/pyenv-implict mac无法安装python3解决方案1CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/incl...
Twisted之@inlineCallbacks
inlineCallbacks文档:https://twistedmatrix.com/documents/current/api/twisted.internet.defer.inlineCallbacks.html 1.inlineCallbacks 是一个decorator,它可以把一个generator函数(使用了yield语句的函数)变成是一系列的异步callbacks的调用。2.调用decoratored by inlineCallbacks 的函数的时候,我们不需要调用send、next等函数把yield的结果发送给generator,inlineCallbacks负责这一切,保证generator可以顺利跑完(前提是generator本身不抛异常)3.如果yield的是defer,那么generator会暂停,直到返回的defer被fired。如果defer是success的,则返回defer的结果,否则,就抛异常(普通的Exception,而不是Failue)12345678910111213from twisted.internet import reacto...
Twisted之Thread:callFromThread和callInThr…
callFromThread和callInThread区别1234567891011121314151617181920212223242526272829303132333435363738import timefrom twisted.internet import reactorfrom twisted.internet import deferfrom twisted.internet.interfaces import IReactorThreadsimport loggingfrom twisted.python.threadpool import ThreadPoollogging.basicConfig( level=logging.DEBUG, # 定义输出到文件的log级别, format='%(asctime)s : %(levelname)s "%(threadName)s %(thread)d %(message)s" %(message)s', # 定义输出log的格式 datefmt=...
Twisted之各种callback
callLater(延迟执行,多少秒后执行某任务)12345678910111213from twisted.internet import reactordef f(s): print('this will run 3.5 seconds after it was scheduled: %s' % s) reactor.stop()reactor.callLater(3.5, f, 'hello, world')# f() will only be called if the event loop is started.reactor.run() LoopingCall间隔时间执行某任务12345678910from twisted.internet import reactor, taskdef f(s): print(s)loop = task.LoopingCall(f, 'hello, world')# Start looping every 1 second.loop.start(1)re...
Twisted之twisted.Web.client.Agent
文档https://twistedmatrix.com/documents/current/api/twisted.web.client.html Agent的用法Agent is a very basic HTTP client. It supports HTTP and HTTPS scheme URIs. demo0112345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061from scrapy.core.downloader.contextfactory import ScrapyClientContextFactoryfrom twisted.internet import reactorfrom twisted.web.client import Agentfrom twisted.web.http_headers import Headersfrom twisted.internet.ssl imp...
Twisted简介:学习笔记与要点整理
1.介绍 熟悉scrpay爬虫框架的人,对Twisted应该不太陌生,scrapy底层请求就是基于Twisted框架实现的。 官方定义: Twisted is an event-based framework for internet applications, supporting Python 2.7 and Python 3.5+. It includes modules for many different purposes, including the following: twisted.web: HTTP clients and servers, HTML templating, and a WSGI server twisted.conch: SSHv2 and Telnet clients and servers and terminal emulators twisted.words: Clients and servers for IRC, XMPP, and other IM protocols twisted.mail: IMAPv4, POP3...