Author Archives: jade

python调用函数超时设置

1、Windows中sign报错,Linux能很好的使用: https://pypi.python.org/pypi/timeout-decorator import time import timeout_decorator @timeout_decorator.timeout(5) def mytest():     print("Start")     for i in range(1,10):         time.sleep(1)         print("{} seconds have passed".format(i)) if __name__ == ‘__main__’:     mytest() 2、Windows可以使用,Linux报错不能导入包 https://pypi.python.org/pypi/func_timeout from func_timeout import func_set_timeout, FunctionTimedOut @func_set_timeout(2.5) def mytest2():     print("Start")     for i… Read More »

Selenium:利用select模块处理下拉框

在利用selenium进行UI自动化测试过程中,经常会遇到下拉框选项,这篇博客,就介绍下如何利用selenium的Select模块来对标准select下拉框进行操作。。。 首先导入Select模块: # coding=utf-8 from selenium import webdriver from selenium.webdriver.support.select import Select 1、Select提供了三种选择某一项的方法 select_by_index          # 通过索引定位 select_by_value          # 通过value值定位 select_by_visible_text   # 通过文本值定位 注意事项: index索引是从“0”开始; value是option标签的一个属性值,并不是显示在下拉框中的值; visible_text是在option标签中间的值,是显示在下拉框的值; 2、Select提供了三种返回options信息的方法 options                  # 返回select元素所有的options all_selected_options     # 返回select元素中所有已选中的选项 first_selected_options   #… Read More »

python3+selenium3.13的简单操作

1.浏览器 1.1 浏览器窗口大小位置  driver.set_window_size(self, width, height, windowHandle) 将某个窗口设置为固定大小  driver.set_window_position(self, x, y, windowHandle) 将某个窗口移动到指定的位置  driver.set_window_rect(self, x, y, width, height, windowHandle) 将某个窗口设置为固定的大小移动到指定的位置  driver.maximize_window() 窗口最大化 driver.minimize_window() 窗口最小化 from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.baidu.com") driver.set_window_size(480, 800) driver.set_window_rect(300, 300, 480, 800) driver.set_window_position(300, 300) driver.maximize_window() driver.minimize_window() 1.2 控制浏览器的后退、前进 driver.back() driver.forward() from selenium import webdriver import time driver = webdriver.Firefox()… Read More »

GTM UTC 时区列表

Time zone list Africa Africa/Abidjan (GMT) GMT +00:00 Africa/Accra (GMT) GMT +00:00 Africa/Addis Ababa (EAT) GMT +03:00 Africa/Algiers (CET) GMT +01:00 Africa/Asmara (EAT) GMT +03:00 Africa/Bamako (GMT) GMT +00:00 Africa/Bangui (WAT) GMT +01:00 Africa/Banjul (GMT) GMT +00:00 Africa/Bissau (GMT) GMT +00:00 Africa/Blantyre (CAT) GMT +02:00 Africa/Brazzaville (WAT) GMT +01:00 Africa/Bujumbura (CAT) GMT +02:00 Africa/Cairo (EET)… Read More »

Python 安装包超时,更改国内源

解决方法: 1、添加超时的参数,不使用缓存 pip install –default-timeout=1000 –no-cache-dir 2、使用国内源: 例如: pip install jupyter -i http://pypi.douban.com/simple –trusted-host pypi.douban.com 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

如何正确移除Selenium中的 window.navigator.webdriver

Chrome 79.0.3945.36+ from selenium import webdriver options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option(’useAutomationExtension’, False) driver = webdriver.Chrome(options=options, executable_path=’./chromedriver’) driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": """ Object.defineProperty(navigator, ‘webdriver’, { get: () = undefined }) """ }) driver.get(’http://google.com’) Chrome 旧版本 from selenium.webdriver import Chrome from selenium.webdriver import ChromeOptions option = ChromeOptions() option.add_experimental_option(’excludeSwitches’,[’enable-automation’]) driver =Chrome(options=option)

js replace 全局替换的操作方法

js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换。 <script language="javascript"> var strM = "这是要被替换的字符串啊啊!"; //在此我想将字母a替换成字母A alert(strM.replace("啊","额")); </script> 上面这段代码,只能替换第一个字符“啊”,第二个“啊”就无法替换,这样就没办法满足大多数使用js(replace)的需求 <script type="text/javascript" language="javascript"> var s = "这是要被替换的字符换啊啊!"; alert(s); alert(s.replace(/啊/g, "额")); 这样,就可以实现整个字符串的替换。 我们这里用到了正则函数的/g全部的使用。这样就可以实现整个字符串的替换效果。 下面,我们大家可能还有个需求无法满足,那就是,我们替换定值可以使用这个,但是替换变量怎么使用? 接下来,就说一下替换变量的使用方式。 简单介绍一下eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。接下来主要靠这个函数。 <script> var ch = "变量"; var reg = "/"+ch+"/g"; var str = "这是一个变量,这是一个变量"; var val = str.replace(eval(reg),"替换"); alert(val); </script> 但是如果要替换的字符串中含有/符号时,上面的就不能用了,需要采取以下方法 <script> var ch =… Read More »

JS解密相关资料

Javascript \x 反斜杠x 16进制 编解码: js 里 \x 开头的通常是16进制编码的数据,下面代码实现编解码: 解码 function decode(str){ return str.replace(/\\x(\w{2})/g,function(_,$1){ return String.fromCharCode(parseInt($1,16)) }); } decode(’\x5f\x63\x68\x61\x6e\x67\x65\x49\x74\x65\x6d\x43\x72\x6f\x73\x73\x4c\x61\x79\x65\x72’) "_changeItemCrossLayer" 编码 function encode(str){ return str.replace(/(\w)/g,function(_,$1){ return "\\x"+ $1.charCodeAt(0).toString(16) }); } encode("_changeItemCrossLayer") "\x5f\x63\x68\x61\x6e\x67\x65\x49\x74\x65\x6d\x43\x72\x6f\x73\x73\x4c\x61\x79\x65\x72" 在线解码地址: 批量  https://jscompress.com/   单个 https://www.mokuge.com/tool/js_x16/

检查代理隐藏效果的几个网址

  https://whatleaks.com/  检查你的IP地址是否有代理迹象,是否属于匿名网络TOR,以及您计算机上的时间设置是否适合您IP的时区 https://whoer.net/  检查Proxy 和 Socks 服务器、给您查看 VPN 服务器的信息、检查IP地址是否被列入到黑色名单、显示 您电脑上Flash 和 Java的启动状态、确定电脑的语言和系统设置、 操作系统和浏览器版本、检查DNS等多种功能 https://2ip.io/privacy/   检查匿名的可能性 https://browserleaks.com/ip  检查浏览器各种信息,包括各种实用浏览器指纹检测 https://www.dnsleaktest.com/  DNS泄露检查 http://www.ip-score.com/ https://www.ipip.net/ip.html

禁用WEBRTC隐藏真实IP

WEBRTC为什么检测到我的真实IP地址? 首先,您需要认识到通过WebRTC显示 PC/平板电脑/电话的所有IP地址,不是VPN / tor / socks的问题或缺点,但这是浏览器的问题。 WebRTC项目是由Google创建的,主要用于在用户浏览器(p2p连接)之间传输流数据(音频和视频),而无需任何辅助软件(例如Skype)或插件。这使支持WebRTC的浏览器不仅可以访问您的网络(独立于操作系统),而且可以通过STUN协议检测您的公共IP地址和本地IP地址,从而绕过任何类型的NAT建立p2p连接。 目前,已知在浏览器Chrome(版本23起),Firefox(版本22起)和Opera(版本18起)中默认启用了WebRTC,这使得这些浏览器的用户无法使用匿名功能。您应该禁用WebRTC的支持,以阻止它检测您的公共IP地址和本地IP地址。 如何在Firefox中禁用WebRTC: Mozilla Firefox中的WebRTC自Firefox 22开始受支持,并且默认情况下处于启用状态。 要禁用RTCPeerConnection并防止IP地址泄漏,请转到about:config并切换media.peerconnection.enabled到false。 要禁用媒体设备,请同时将media.navigator.enabled和切换media.peerconnection.enabled至false。 如何在Opera中停用WebRTC: 转到“设置”->“更多设置”在“ WebRTC”部分中,选择“在没有代理的情况下停用UDP” 如何在Chrome中禁用WebRTC: 自Chrome 23版起,默认情况下启用Google Chrome和基于Chromium的网络浏览器中的WebRTC,无法禁用;目前尚不知道如何通过浏览器设置在Chrome中禁用WebRTC的方法;为了防止IP地址泄漏,请使用官方的webrtc.org扩展WebRTC Network Limiter。 如何在Android中使用Chrome禁用WebRTC: 在最新版的适用于Android的Chrome浏览器上,即使设置中存在此类选项,也无法禁用WebRTC。如果您需要在Android上使用禁用了WebRTC的浏览器,建议您使用Firefox for Android。您可以根据上面的Firefox说明在其中禁用WebRTC。