<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wbj_code_life的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wbj_code_life</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wbj_code_life]]></copyright><item><title><![CDATA[Python--format 函数格式化字符串的用法]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102616842</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102616842</guid><author>wbj_code_life</author><pubDate>Sat, 12 Feb 2022 17:33:21 +0800</pubDate><description><![CDATA[1.下载python3源码包

wgethttps://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

2.下载python3编译的依赖包


  yum install -y gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-de...]]></description><category></category></item><item><title><![CDATA[unindent does not match any outer indentation level在pycharm平台的原因]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/103926716</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/103926716</guid><author>wbj_code_life</author><pubDate>Fri, 10 Jan 2020 16:28:18 +0800</pubDate><description><![CDATA[python对缩进具有严格的要求

稍微一步留神就会发生unindent does not match any outer indentation level的错误，

一般都是前后代码缩进的问题：

以下情况 必须以tab键缩进或者4个空格

1：if、while等条件后面的语句

2、for 循环的后面的语句

注意观察 ：报错语句前，报错语句后，代码缩进是否正常，
...]]></description><category></category></item><item><title><![CDATA[同步与异步，阻塞与非阻塞的理解及区别]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/103903591</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/103903591</guid><author>wbj_code_life</author><pubDate>Thu, 09 Jan 2020 10:49:32 +0800</pubDate><description><![CDATA[阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解，提供一个从分布式系统角度的回答。1.同步与异步
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)
所谓同步，就是在发出一个*调用*时，在没有得到结果之前，该*调用*就不返回。但是一旦调用返回，就得到返回值了。
换句话说，就是由*调用者*主动等待这...]]></description><category></category></item><item><title><![CDATA[MySQL根据出生日期计算年龄的五种方法比较]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/103386782</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/103386782</guid><author>wbj_code_life</author><pubDate>Wed, 04 Dec 2019 14:59:44 +0800</pubDate><description><![CDATA[方法一


SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age

方法一，作者也说出了缺陷，就是当日期为未来日期时结果为0，而不是负数；这里使用了5个函数和两个运算符。

方法二


SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthday,...]]></description><category></category></item><item><title><![CDATA[数据库limit用法及其优化]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/103386595</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/103386595</guid><author>wbj_code_life</author><pubDate>Wed, 04 Dec 2019 14:52:51 +0800</pubDate><description><![CDATA[语法：

 *** limit [offset,] rows

 一般是用于select语句中用以从结果集中拿出特定的一部分数据。

 offset是偏移量，表示我们现在需要的数据是跳过多少行数据之后的，可以忽略；rows表示我们现在要拿多少行数据。

2.例子：

 ①select * from mytbl limit 10000,100

  上边SQL语句表示从表mytbl中拿数...]]></description><category></category></item><item><title><![CDATA[Mysql数据库练习]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/103364465</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/103364465</guid><author>wbj_code_life</author><pubDate>Wed, 04 Dec 2019 14:46:12 +0800</pubDate><description><![CDATA[我自己建的库名company

一、建立部门表 “dept”:

CREATE TABLE `company`.`dept`( 
 `dno` INT NOT NULL,
 `dname` VARCHAR(10) NOT NULL,
 PRIMARY KEY (`dno`)
);

插入部门表数据

INSERT INTO dept VALUES(1,"财...]]></description><category></category></item><item><title><![CDATA[实战演练]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102806796</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102806796</guid><author>wbj_code_life</author><pubDate>Tue, 29 Oct 2019 19:20:41 +0800</pubDate><description><![CDATA[之前我们对web元素做的操作主要是：选择元素，然后点击元素或者输入字符串。

还有没有其他的操作了呢？

有。

比如：比如 鼠标右键点击、双击、移动鼠标到某个元素、鼠标拖拽等。

这些操作，可以通过 Selenium 提供的ActionChains类来实现。

ActionChains 类 里面提供了 一些特殊的动作的模拟，我们可以通过 ActionChains 类的代码查看到，如下...]]></description><category></category></item><item><title><![CDATA[web浏览器自动化（python   selenium）]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102693117</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102693117</guid><author>wbj_code_life</author><pubDate>Tue, 29 Oct 2019 19:11:11 +0800</pubDate><description><![CDATA[windows环境安装python，就是去官网https://www.python.org直接取下载对应的版本，比较简单，linux环境安装python，请参考

https://blog.youkuaiyun.com/wbj_code_life/article/details/102643084 ，以下便是python+Selunium做web自动化的一些基本知识，供大家参考，自动化贵在实践，本人也在努...]]></description><category></category></item><item><title><![CDATA[xpath选择器]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102806509</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102806509</guid><author>wbj_code_life</author><pubDate>Tue, 29 Oct 2019 19:06:12 +0800</pubDate><description><![CDATA[Xpath选择器

Xpath语法简介

前面我们学习了CSS 选择元素。

大家可以发现非常灵活、强大。

还有一种 灵活、强大 的选择元素的方式，就是使用Xpath表达式。

XPath (XML Path Language) 是由国际标准化组织W3C指定的，用来在 XML 和 HTML 文档中选择节点的语言。

目前主流浏览器 (chrome、firefox，edge，safari) 都...]]></description><category></category></item><item><title><![CDATA[选择框]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102731304</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102731304</guid><author>wbj_code_life</author><pubDate>Thu, 24 Oct 2019 20:27:28 +0800</pubDate><description><![CDATA[请大家打开这个网址http://f.python3.vip/webauto/test2.html

并且按F12，观察HTML的内容

常见的选择框包括： radio框、checkbox框、select框

radio框

radio框选择选项，直接用WebElement的click方法，模拟用户点击就可以了。

比如, 我们要在下面的html中：

先打印当前选中的老师名字
	再选择 小雷老师...]]></description><category></category></item><item><title><![CDATA[frame切换/窗口切换]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102731154</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102731154</guid><author>wbj_code_life</author><pubDate>Thu, 24 Oct 2019 20:21:13 +0800</pubDate><description><![CDATA[如果我们要 选择 下图方框中 所有的 蔬菜，使用css选择，怎么写表达式？

当然，要先查看到它们的html元素特征



大家可能会照旧写出如下代码：


from selenium import webdriver

wd = webdriver.Chrome(r'd:\webdrivers\chromedriver.exe')

wd.get('http://f.python3.vip/we...]]></description><category></category></item><item><title><![CDATA[CSS-Selector---下篇]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102695928</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102695928</guid><author>wbj_code_life</author><pubDate>Wed, 23 Oct 2019 10:07:26 +0800</pubDate><description><![CDATA[选择语法联合使用

CSS selector的另一个强大之处在于： 选择语法 可以联合使用

打开这个网址http://f.python3.vip/webauto/sample1.html

比如， 我们要选择 网页 html 中的元素&lt;span class='copyright'&gt;版权&lt;/span&gt;


&lt;div id='bottom'&gt;
    &lt...]]></description><category></category></item><item><title><![CDATA[CSS选择器-上篇]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102695367</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102695367</guid><author>wbj_code_life</author><pubDate>Wed, 23 Oct 2019 09:59:14 +0800</pubDate><description><![CDATA[前面我们看到了根据 id、class属性、tag名 选择元素。

如果我们要选择的 元素 没有id、class 属性，或者有些我们不想选择的元素 也有相同的 id、class属性值，怎么办呢？

这时候我们通常可以通过 CSS selector 语法选择元素。



CSS Selector 语法选择元素原理

HTML中经常要 为 某些元素 指定显示效果，比如 前景文字颜色是红色， 背...]]></description><category></category></item><item><title><![CDATA[自动化操控元素]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102693429</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102693429</guid><author>wbj_code_life</author><pubDate>Wed, 23 Oct 2019 09:21:15 +0800</pubDate><description><![CDATA[选择到元素之后，我们的代码会返回元素对应的 WebElement对象，通过这个对象，我们就可以操控元素了。

操控元素通常包括


	点击元素
	
	
	在元素中输入字符串，通常是对输入框这样的元素
	
	
	获取元素包含的信息，比如文本内容，元素的属性
	
点击元素

点击元素非常简单，就是调用元素WebElement对象的 click方法。前面我们已经学过。

这里我们要补充讲解一点。
...]]></description><category></category></item><item><title><![CDATA[Selunium原理与安装]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102692715</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102692715</guid><author>wbj_code_life</author><pubDate>Tue, 22 Oct 2019 23:29:23 +0800</pubDate><description><![CDATA[Selenium 是一个 Web 应用的自动化框架。

通过它，我们可以写出自动化程序，像人一样在浏览器里操作web界面。 比如点击界面按钮，在文本框中输入文本 等操作。

而且还能从web界面获取信息。 比如获取12306票务信息，招聘网站职位信息，财经网站股票价格信息 等等，然后用程序进行分析处理。

Selenium 3.0 版本的自动化架构是这样的



从上图可以看出：

我们写的...]]></description><category></category></item><item><title><![CDATA[Centos7安装Python3.7]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/102643084</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/102643084</guid><author>wbj_code_life</author><pubDate>Sat, 19 Oct 2019 21:05:36 +0800</pubDate><description><![CDATA[说明

全部操作都在root用户下执行

1.安装编译相关工具


yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel li...]]></description><category></category></item><item><title><![CDATA[python连接数据库]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/101646056</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/101646056</guid><author>wbj_code_life</author><pubDate>Sun, 29 Sep 2019 00:13:26 +0800</pubDate><description><![CDATA[python2.x使用MYSQLdb

python3.0 使用pymysql

#与数据库建立连接

conn = pymysql.connect(
 port= “3309”,#3306默认不写
 host = "",
 user = "root",
 passwd = "",
 db = "",
 charset = "utf-8"
)


#读取数据
...]]></description><category></category></item><item><title><![CDATA[TCP协议与UDP协议之间的九个区别]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/101346941</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/101346941</guid><author>wbj_code_life</author><pubDate>Wed, 25 Sep 2019 10:06:32 +0800</pubDate><description><![CDATA[CP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据。对任何程序员来说，熟悉TCP和UDP的工作方式都是至关重要的。这就是为什么TCP和UDP是一个流行的Java编程面试问题。我曾经在各种不同的Java面试中见过这个问题,尤其是对服务器端Java开发人员的面试。由于FIX(金融信息交换)协议也是一个基于TCP协议,一些投资银行,对冲基金,和交换解决方案提供商也在寻找有良好...]]></description><category></category></item><item><title><![CDATA[序列化和反序列化-json/pickle]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/101211857</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/101211857</guid><author>wbj_code_life</author><pubDate>Mon, 23 Sep 2019 22:35:20 +0800</pubDate><description><![CDATA[什么叫序列化——
    将原本的字典、列表等内容转换成一个字符串的过程就叫做------序列化。

为什么要有序列化模块？


比如，我们在python代码中计算的一个数据需要给另外一段程序使用，那我们怎么给？
一种方法就是存在文件里，然后另一个python程序再从文件里读出来。
但是我们都知道，对于文件来说是没有字典这个概念的，所以我们只能将数据转换成字典放到文件中。
你一定会问，将字典转...]]></description><category></category></item><item><title><![CDATA[python中如何判断哪些是类哪些是内置函数呢？]]></title><link>https://blog.youkuaiyun.com/wbj_code_life/article/details/101066193</link><guid>https://blog.youkuaiyun.com/wbj_code_life/article/details/101066193</guid><author>wbj_code_life</author><pubDate>Fri, 20 Sep 2019 16:56:10 +0800</pubDate><description><![CDATA[（1）看是否存在对应的魔术方法。例如，len() 是一个内置函数，因为它实际调用的是魔术方法__len__()；还有常用的iter()，它调用的是__iter__()，所以也是内置函数；而因为不存在__range__()魔术方法

（2）使用 type() 进行判断，结果为builtin_function_or_method的才是内置函数。


print(type(len))
结果：...]]></description><category></category></item></channel></rss>