使用浏览器特征检测浏览器

// Opera 8.0+ var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(’ OPR/’) >= 0; // Firefox 1.0+ var isFirefox = typeof InstallTrigger !== ‘undefined’; // Safari 3.0+ "[object HTMLElementConstructor]" var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window[’safari’] || (typeof safari !== ‘undefined’ && safari.pushNotification)); // Internet Explorer… Read More »

全球网站在线测速

Pingdom Website Speed Test https://tools.pingdom.com/ website monitoring service https://www.host-tracker.com/ 卡卡网 http://www.webkaka.com/UrlCheck.aspx WebSitePulse Test Tools https://www.websitepulse.com/tools/ Free Web Speed Test http://www.freespeedtest.com/ Web Page Analyzer http://websiteoptimization.com/services/analyze/ Check Website https://asm.ca.com/en/checkit.php

记录一些免费的实用API

IP检查: http://ip-api.com/json http://icanhazip.com/   https://ifconfig.co/json  (有CF) https://api6.ipify.org/?format=json 英国邮编: https://api.postcodes.io/

Python Selenium提供的execute_script调用js的一些操作

调用js方法 execute_script(script, *args) 在当前窗口/框架 同步执行javaScript 脚本:JavaScript的执行。 *参数:适用任何JavaScript脚本。 使用: driver.execute_script(’document.title’) 滚动到目标视图 target = driver.find_element_by_xxxx() driver.execute_script("arguments[0].scrollIntoView();", target) 通过执行JavaScript中的代码删除target JS code document.getElementsByClassName("site-nav-right fr")[0].childNodes[1].removeAttribute("target") python js=’arguments[0].removeAttribute(argument[1])’ driver.execute_script(js,login_link,”target”)

MYSQL数据库的一些常用操作

mysql查询重复数据(把有重复的给列出来) SELECT * FROM `it_info` GROUP BY `last_name` HAVING COUNT(*)>1 使用replace批量更新SQL某个字段的某个字符,比如批量替换last_name里包含的’位空 update `user` set `last_name`=REPLACE(`last_name`,"’","") WHERE `last_name` LIKE "%’%" 批量更新数据库数组,在长度小于5的数据前面加0 update `address` set `zip`=concat(’0′,`zip`) WHERE length(`zip`) < 5 Think PHP 查询数据库某一个字段的唯一值  Db::table(’user’)->distinct(true)->field(’class’)->select(); 这将仅取出 class 唯一值的列表 Db::table(’user’)->group(’class’)->order(’name desc’)->select(); 这将取出class唯一的每一条记录,组成列表 随机取同一个字段里面,不同分组的一条记录  Db::table(’user’) ->where(’status’,1) ->orderRand() ->buildSql(); 先构建一个子查询,把所有值随机排序  Db::table($subQuery . ‘ a’) ->group(’class’) ->orderRand() ->select(); 然后再把子查询的值分组

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/