Python
Python
旷野历程
精通微服务架构、分布式架构以及高性能、高并发、高可用等领域;精通MySQL数据库原理,对SQL调优、分库分表、数据一致性、海量数据处理等有深入了解。具备独立设计和开发的经验,曾负责过大型分布式服务设计、支付交易系统的设计,能够快速定位和解决线上问题。
展开
-
Python Selenium 页面操作总结
分享知识 传递快乐打开浏览器: driver = webdriver.Chrome()请求一个url: driver.get(“www.baidu.com”)返回当前页面的title: driver.title返回当前页面的url: driver.current_url返回当前页面的源码: driver.page_source获取当前窗口句柄: driver.current_wind...原创 2020-05-31 23:01:21 · 655 阅读 · 0 评论 -
Python requests 加入 cookie 请求
分享知识 传递快乐在通过浏览器用爬虫爬取页面时会涉及一些登陆后才能操作的一些请求,而这些请求在浏览器上又不好获取,比如:用select下拉框做成的可以模糊查询的查询条件等;此时用浏览器获取数据会有一些不方便,如果提取请求地址单独在后台发请求,却返回未登陆或打开登陆页面等。针对这一问题详细记录一下。在做单独请求时加入登陆后的 cookie 即可实现免登陆操作。代码:# 获取 ...原创 2020-05-23 07:52:22 · 1419 阅读 · 0 评论 -
Python Selenium 获取页面所有文本内容
分享知识 传递快乐用 Selenium 爬虫获取网页上显示的文本,首先安装 lxml 模块:pip install lxml代码:driver = webdriver.Chrome()driver.maximize_window()driver.get("url")# 获取页面源代码html_source = driver.page_sourcehtml ...原创 2020-05-16 18:46:10 · 27274 阅读 · 1 评论 -
Python Selenium Xpath高级定位用法
目前很多网页前端代码是框架或 JS 生成的,就导致了混乱而难以定位。为了快速而又复杂定位 Selenium 中有一个 Xpath 选择器,可以选择复杂的页面定位,也是爬虫在网页定位中的较优的选择。...原创 2020-05-16 18:45:53 · 2265 阅读 · 0 评论 -
Python Selenium 键盘鼠标事件操作
分享知识 传递快乐鼠标操作在现实的自动化测试中关于鼠标的操作不仅仅是 click() 单击操作,还有很多包含在 ActionChains 类中的操作。如下:context_click(elem) # 右击鼠标点击元素elem,另存为等行为double_click(elem) # 双击鼠标点击元素elem,地图web可实现放大功能drag_and_drop(source,t...原创 2020-05-15 15:46:00 · 1030 阅读 · 0 评论 -
Python Selenium 元素操作方法
分享知识 传递快乐element = browser.find_element_by_id('id')清除元素的内容: element.clear()模拟按键输入: element.send_keys(value)点击元素: element.click()提交表单: element.submit()获取元素属性: element.get_attribute(name)elemen...原创 2020-04-17 20:11:51 · 697 阅读 · 0 评论 -
SQLAlchemy 打印执行的SQL语句
分享知识 传递快乐方式一:SQLAlchemy支持在创建数据库引擎时,通过echo=true,将连接这个数据库引擎的所有执行语句打印出来:engine = create_engine("<db_rul>", echo=True)方式二:可以直接通过下边的方式,打印SQL语句,但不包含参数的SQL语句query = session.query(Mode...原创 2020-04-12 16:00:22 · 6538 阅读 · 0 评论 -
Python Selenium显式等待和隐式等待详细说明
现在的大多数的Web应用程序是使用Ajax技术。当一个页面被加载到浏览器时, 该页面内的元素可以在不同的时间点被加载。这使得定位元素变得困难, 如果元素不再页面之中,会抛出 ElementNotVisibleException 异常。 使用 waits, 我们可以解决这个问题。waits提供了一些操作之间的时间间隔- 主要是定位元素或针对该元素的任何其他操作。Selenium Webdr...原创 2020-04-10 15:54:09 · 11045 阅读 · 6 评论 -
Selenium 快速精准定位元素位置
分享知识 传递快乐用 Google Chrome 做说明,打开一个页面后按 F12 或在网页上右击选择 “检查” 打开开发者工具。定位指定标签:选择 “Copy XPath” ,然后就是下边的xpath://*[@id="csdn-toolbar"]即简单又快捷方便。—————————如有不足请留言指正相互学习,共同进步...原创 2020-04-10 15:46:03 · 1498 阅读 · 0 评论 -
Python Selenium获取元素文本
分享知识 传递快乐Selenium WebDriver 只会与可见元素交互,隐藏元素的文本总是会返回空字符串。在某些情况下,我们就是需要获取这些隐藏元素的文本。想要获取隐藏元素的文本内容需要使用 element.get_attribute('attributeName') 方式获取,以下是获取文本的属性名:innerHTML:会返回元素的内部 HTML, 包含所有的HTML标签...原创 2020-04-08 21:24:34 · 16714 阅读 · 5 评论 -
Python Selenium滚动页面定位元素位置
分享知识 传递快乐当页面元素超出超出屏幕显示或有设定标签宽高时,就需要以滚动的方式来显示需要显示的信息。以下是 Selenium 分别通过执行 JS 脚本和根据获取元素位置滚动页面至元素存放位置代码:webdriver = webdriver.Chrome()....# 通过 JS 的方式滚动页面webdriver.execute_script("window.s...原创 2020-04-08 20:25:15 · 12001 阅读 · 1 评论 -
Python Selenium WebDriverWait预期条件定位元素
Python Selenium 显示等待 WebDriverWait 与条件判断 expected_conditions。想要使用这些条件需要引入expected_conditions 模块,而 expected_conditions 是 selenium 中的一个模块。预期的条件自动化的Web浏览器中一些常用的预期条件如下:验证titletitle_is: 判断当前...原创 2020-04-01 16:17:34 · 1939 阅读 · 0 评论 -
Python Sqlalchemy Columns 列类型列表
分享知识 传递快乐记录一下 Python 使用SQLAlchemy 影射实体类常用列类型。SQLAlchemy常用的列类型类型名 Python类型 说 明 Integer int 普通整数,一般是 32 位 SmallInteger int 取值范围小的整数,一般是 16 位 BigInteger int 或 lon...原创 2020-03-31 16:40:03 · 957 阅读 · 0 评论 -
Python 单下划线和双下划线的区别
分享知识 传递快乐在Python中,有以下几种方式来定义变量:1、无下划线变量xx:无下划线变量为公有变量2、前面单下划线_xx:前置单下划线,又称口头私有变量,私有化属性或方法的一种,一般来讲,变量名_xx被看作是“私有 的”,在模块或类外不可以使用。当变量是私有的时候,用_xx 来表示变量是很好的习惯。类对象和子类可以访问,这并不能完全做到真正的私有,只...原创 2020-03-23 10:22:23 · 1525 阅读 · 0 评论 -
Python pip 命令常用操作
分享知识 传递快乐在 Python 的学习过程中,肯定会遇到很多安装、更新、卸载等操作模块的地方。而常用的PIP操作命令如下:pip安装指定模块pip install packagenamepip卸载指定模块pip uninstall packagenamepip查看指定的安装包信息pip show packagename列出所有的安装包pip ...原创 2020-03-22 22:28:54 · 353 阅读 · 0 评论 -
Python Selenium设置元素等待
分享知识 传递快乐Selenium 设置元素等待的三种方式:强制等待:time.sleep() 隐式等待:implicitly_wait() 显式等待:WebDriverWait()1、强制等待强制等待虽然简单明了,但如果设置sleep等待时间过短,元素还没加载出来,程序会报错;如果sleep设置等待时间过长,元素早就加载出来了,程序还在等待,浪费是时间,所以不建议...原创 2020-03-22 22:26:26 · 259 阅读 · 0 评论 -
解决Pycharm大量占用C盘问题
分享知识 传递快乐在使用 PyCharm 时会在 C:\Users\<username>\.PyCharm<版本号> 下创建一大堆文件,里边包括了配置信息,项目缓存信息等。要为了解决Pycharm大量占用C盘问题,需要把一些配置信息搬迁到指定位置。通过 PyCharm 修改在启动 PyCharm 后选择Help -> Edit Custom...原创 2020-03-22 11:07:05 · 29315 阅读 · 22 评论 -
【Python】输入 pip 命令报错:'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件。
分享知识 传递快乐当 Python 安装完成后使用 pip 命令安装模块却出现了:C:\Users\Administrator>pip'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件。解决办法:把 Python 下的 Scripts 目录一起配置到环境变量中即可。如:D:\Python\python3.8;D:\Python\python3.8...原创 2020-03-20 15:56:22 · 1670 阅读 · 0 评论 -
Python安装模块时异常:Fatal error in launcher: Unable to create process using '"'
分享知识 传递快乐当用 pip 安装模块时,cmd 窗口上上出现:Fatal error in launcher: Unable to create process using '"' 异常信息,只需要升级一下 pip 模块即可。升级命令为:python -m pip install --upgrade pip—————————如有不足请...原创 2020-03-20 15:49:34 · 738 阅读 · 0 评论 -
Python Selenium根据条件定位元素
分享知识 传递快乐在一个页面中有很多不同的策略可以定位一个元素。查找元素find_element_by_id:通过ID查找元素 find_element_by_name:通过Name查找元素 find_element_by_xpath:通过XPath查找元素 find_element_by_link_text:通过链接文本获取超链接 find_element_by_pa...原创 2020-03-19 21:17:25 · 2071 阅读 · 0 评论 -
Python 多线程
分享知识 传递快乐Python 中线程常用的有二种方式:实例化 Thread、继承实现Python3 线程中常用的两个模块为:_thread threadingthread 模块已被废弃。用户可以使用 threading 模块代替。所以,在 Python3 中不能再使用"thread" 模块。为了兼容性,Python3 将 thread 重命名为 "_thread"。...原创 2020-03-16 07:08:23 · 277 阅读 · 0 评论 -
Python中类(class)与函数(function)的区别
分享知识 传递快乐在Python 中一直以来都以为函数(function)和方法(method)是一个东西,但后来发现两者是不一样的,那么两者之间有什么区别呢?先看段代码:代码1:def fun(): passprint(fun)结果如下:<function fun at 0x000000000248A820>代码2:class ...原创 2020-03-15 21:39:14 · 23994 阅读 · 4 评论 -
Python命名规范
分享知识 传递快乐Python命名规范包括如下几点:1、模块名和包名采用小写字母并且以下划线分隔单词的形式;如:regex_syntax, py_compile, _winreg2、类名或异常名采用每个单词首字母大写的方式,内部类可以使用额外的前导下划线,异常以作"Error"为后缀;如:MyClass, BaseServer, MyClassError3、全局或者...原创 2020-03-08 19:53:00 · 3659 阅读 · 0 评论 -
Python扩展包搜索及安装
Pythonpip命令安装文件包:https://pypi.org/原创 2020-03-03 23:03:38 · 373 阅读 · 0 评论 -
Python selenium中保存、读取登陆后的cookie详细说明
分享知识 传递快乐1、selenium保存cookiedef save_cookie(browser): ''' 说明:pickle库来序列化数据(把格式数据存入文件和加载到内存) ''' cookies = browser.get_cookies() # 方法一 # with open('taobao_cookie.pickle'...原创 2020-03-03 21:21:50 · 5321 阅读 · 0 评论 -
Python selenium中读取cookie报错:ERROR Message: invalid argument: invalid 'expiry'
分享知识 传递快乐在Python中用selenium中读取cookie时报:ERROR Message: invalid argument: invalid 'expiry'expiry指的是cookie的失效时间,插入的时候出现的问题。解决方法:1、删除该字段for cookie in cookies: if 'expiry' in cookie...原创 2020-03-03 21:06:15 · 3427 阅读 · 2 评论 -
如何解决PyCharm不能debuge调试
分享知识 传递快乐某日在用PyCharm学习Python时用debuge调试代码时出现以下异常:D:\Python-3.8.0\python.exe D:\JetBrains\PyCharm.v2.5\helpers\pydev\pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 64808 --fil...原创 2019-11-28 12:29:13 · 6328 阅读 · 4 评论