粉丝2598获赞4839

那你是如何处理埃弗瑞姆里边的元素定位呢?没有碰到过这种情况啊。嗯,有时候我们写的元素定位表达。是呀,没有问题,但是脚本还是提示 no such element。 那么我们就需要考虑这个元素啊,是否在 frem 中?通过 f 十二可以查看元素在 htm 中是否有 frem 的标签。 如果有 frem, 那么需要先将 driver 切换到 ifrem 中。可以通过 ifrem 的内幕和 id, 或者所以三种方法来定位 ifrem, 或者先找到 frem 元素,然后通过这个元素传递进去就可以,你明白了吗?

这节课我们来学习 fream, 我们先来看个例子, 在这个网页中,同时在一个页面中展示了三个网站,千峰教育官网,千峰教育 html 五大前端官网,千峰教育 html 五大前端好程序员官网,这是如何做到的呢? 其实也不难,使用 fream 就可以实现了。 fream 的作用是用来在一个网页中显示另一个网页。 fream 是个双标签, 基本语法为尖角号 fream, 尖角号斜杠 fream。 fream 标签有五个基本属性, s r c 属性资源的意思, 用于引入其他网站的页面值是一个页面的路径 ways 属性宽度的意思,用来控制引入页面的宽度值是一个数字 head 属性高度的意思,用来控制引入页面的高度值是一个数字 free and board。 属性框架边框的意思,默认引入的框架带有边框, 通常情况下,将该属性的值设置成零,来取消框架的边框。这个绕令属性滚动的意思, 用来控制是否显示框架的滚动条值有三个 auto, 在需要的情况下出现滚动条也是默认值。 yes 始终显示滚动 条, no 从不显示滚动条。我们来做个例子,打开编辑器,新建一个 f rim demo 点 h t m l 文件,补全基础代码, 在包地里添加 freem 标签。首先定义 s r c 属性值为 h t t p 冒号两斜杠三 w 点 q f e d u 点 com。 福瑞姆包的属性的值设置为一,显示边框,保存页面,在浏览器中打开页面,千峰教育官网在 f 瑞姆的默认大小的窗口里显示了 返回。编辑器给 fream 定义属性, with 等于八百, height 等于六百。保存 回到浏览器刷新, freem 的窗口变大了,可以通过滚动条查看网站内容,返回编辑器。如果给 freem 定义一个 scrawling 属性,职位 no 的话,滚动条就不见了。 回到浏览器刷新,此时就不能查看窗口隐藏的内容了。 ifreem 也可以作为一个链接的目标框架,链接的它给的属性必须设置为 freem 的 name 属性。比如给 ifreem 定义 name 属性的值为 ifreem a, 链接 a 的 top 属性值也设置为 freema。 这样当点击链接时,千峰教育的官网就在这个 freem 窗口里打开了。我们再来看个例子,当点击三个链 链接, freem 里面显示相应链接的网址,我们来实现一下这个案例。回到编辑器,创建一个 freem example, 点 html 文件股权基础代码,在包地里添加一个 free 定义属性, s r c 等于 h t t p 冒号两斜杠 q f e d 优点, com with 等于八百, had 等于六百保存在浏览器中,打开页面,一个 f rem 框架就做好了。回到编辑器,在包地里的第一行,再添加一个 div 容器,在容器里书写,按 mat 命令, a 中括号赫尔法空格 target 等于 f room, a 大于号 b 乘以 三,按下 table 键,自动补全代码。很明显,这不是我们想要的代码,这怎么办呢? 聪明的你是不是已经想到了,在小学数学里,通过添加小括号来设置运算优先级的法则。我们在 a 的前面, b 的后面添上一对括号,我们把这个 imat 保存一下, 将光标一致,按 mat 语句的结尾,按下 table 键,期望的代码生成了。如果你是完美主义者,这个代码你应该不满意, 能不能换行显示三个 a 标签呢?大家跟我一起做。点击 vs 扣的左下角的齿轮图标,再点击设置。打开设置窗口,点击扩展菜单,再点击 imate, 找到 syntax profiles, 在 sentence 点 g, s, o, n 中编辑,在这里输入 h, t, m, l 冒号。大括号,在大括号里写入 inline 下划线 break 冒号二 表示标签数大于两组就折行显示。关闭设置,把刚才保存的 imat 命令再拷贝过来,按下 table 键,完美的代码生成了。给三个 a 标签填好链接地址和文本内容, 这里需要注意, a 链接的地址可以是互联网的网站地址,也可以是自己制作的本地页面 的地址,这些页面都可以在 fream 中显示。我们发现三个链接的 tok 属性都指向了同一个 fream。 保存一下页面,回到浏览器刷新,分别点击三个链接, f, rem 里面分别显示了三个网站的页面。 fream 是不是功能很强大?你学会了吗?赶快动手尝试一下吧!

好,同学们,那么咱们这一小节啊,去讲解一个易辅 ios。 那么易辅 ios 啊,他也算做我们的条件判断当中的一种形式,那 只不过他完成的作用呢?就是当条件成立呢,执行衣服下方带缩进的代码。要是条件不成立呢,我们去执行 ios 下方带缩进的代码。 那为什么会有这样的需求呢?我们同学就讲刚刚咱们同学们做过网吧上网的例子,那网吧上网的话,是不是就是我们年龄 成年了,是不是就能上网?那同学们想想啊,那如果一个人来了,他输入的年龄是成年大于十八的,是不是就回复能上网了。但是如果他要输入年龄不大于十八呢?那么这个时候我们想想,是不是应该也回复用户,告诉他你还未成年, 是不能上网的这个信息,告诉他我们总之是不是要输出信息。不管我们用户到底成没成年,成年我们就执行成年的代码,不成年是不是就输出不成年的代码。那么这就是我们的一个一副 ios 的一个应用场景。言外之意就是说条件成立,执行一个代码,不成立,我们也有代码去执行。 那么接下来具体他的语法是什么呢?我们来看啊。首先同学们先看上半部分,这一半部分是不是还是我们最基础的易辅条件冒号,然后接下来回中画行缩进,是不是写了代码?那接下来与此同时呢,我们在易辅的同一级别是不是写了一个爱奥斯, 艾奥斯后面是不是也写了冒号?那冒号后边跟的是什么呢?就是上边这个条件要是不成立,要执行的代码,当然还是老规矩,按需求写多少行代 都可以。那接下来啊,同学们,咱们跟着老师一起把咱们刚才的网吧上网的例子,咱们给他改的更实用一些。 就是说我们原来做到的啊。同学们来看,老师另存了一个网吧上网进阶版,咱们原来做到的是不是用户输入。然后呢,我们用用户输入的数据和十八去做判断,如 如果我们的年龄是大于十八的,是不是就输出已经成年可以上网。但是同学们接下来看啊,如果这个时候老师又尖锐 说老师输入一个年龄是十回车,是不是没有任何的输出。那么这个时候我们想想,一个小孩十岁来了,在这 我们哎,我十岁年龄能上网吗?没有人搭理他,那是我们系统卡死了,还是不能上网,还是没有人理我呀。那这个时候小朋友是不是不开心了呀,对不对?哎,所以啊,那也就是说在实际工作场景下啊,我们 条件成立了,要执行代码。那么很多情况下呢,当条件不成立,也要执行代码。那么这个时候怎么办呢?咱们注意了,就用一幅爱奥斯,那怎么写呢?咱们注意啊, 老师是不是说在义父的同一级别之下,也就是顶格的位置,我们是不是放上一个爱尔斯,接下来是不是加一个冒号?冒号之后我们一敲咱们的拍,上面有特点, 拍叉模,我们新建的是拍摄文件,当易冒号回车,自动带缩进去,写要执行的代码就可以了。 那么接下来啊,比如说,如果我们要是上述条件不成立了,是不是就表示这个人输入的年龄是不大于等于十八的,那接下来是不是就是一个未成年的孩子,对不对?哎,所以那么这个时候老师输出一个啊,比如说,那么您输入的年龄,比如说是,咱们还是把它 输入的这个年龄告诉他。然后接下来呢,咱们就说一个这个小朋友对不对?哎,小朋友哎,小朋友回家写作业对不对?回家写作业去 对不对?哎。这是不是我们一个条件不成立,不大于十八的时候,我们要执行的代码?好,那么接下来同学们跟着老师一起,我们去右键转一下啊。咱们来 看,如果这个时候老师输入一个二十敲回车,是不是您输入年龄是二十,已经成年,可以上网。那么这个时候老师再去右键转一下。同学们来看,如果老师输入一个十敲回车,是不是 你的年龄是十岁,小朋友回家写作业去。这是不是就说明不管条件成立不成立,都要有一个代码去执行。那么这个时候我们是不是就加一个一服二十四。那接下来啊,同学们跟着老师一起啊,咱们去 笔记当中做一个小回顾,那是不是就是当条件成立,执行接下来带缩进的代码,如果条件不成立,是不 就执行 ios 下方带缩进的代码,这是不是就是我们一个易辅 ios 的一个语法以及应用场景?好,那接下来啊,老师把这一段讲完之后呢,把咱们这个视频稍微暂停一下啊。


好,同学们,那么这一小节啊,咱们带着同学们一块去梳理一下咱们一副嵌套他的一个执行流程,那么接下来啊,在老师这里呢,画了一张图啊,同学们注意来看, 这是不是就是程序自上而下去执行,当遇到外层易腐条件,如果条件成立了,是不是就执行接下来条件成立要执行的代码块了?那如果条件不成立呢?那么是不是就执行不成立的代码,然后执行完之后呢,整个易腐是不是就结束了?那 接着我们讲啊,如果要是外层易腐条件成立了,那么紧接着是不是要执行条件成立要执行的整个代码块,对不对?但是呢,在这个代码块当中,如果再有易腐,是不是还要进入到第二个,也就是内部易腐的条件判断,如果条件成立,是不是就执行 条件二这个义服成立要执行的代码,如果条件不成立呢?是不是就执行我们条件二不成立要执行的代码,从而退出我们条件二所在的衣服,并退出我们。接下来如果条件一成立,没有 其他的代码了,那是不是也就退出整个条件一所在的衣服了,对不对?好,那么这是我们大概啊,咱们的一个衣服欠套的一个执行流程。那么接下来啊,同学们,咱们跟着老师来一块来看一下拍场当中刚才咱们做过的这个判断。坐公交的这么一个例子, 是不是就是程序自上而下执行,当遇到外层衣服,首先是不是就要进入到外层衣服的条件,如果条件成立了,是不是就执行接下来我外层衣服的所有代码,但是如果要是条件不成立了,是不是就直接跳到 ios 上面的 这个条件成立的代码是不是就不执行了?那么接下来如果我们 money 等等一这个条件成立了,那么是不是接下来这个代码块都会被执行到,而且是自上而下?那 我们课上是不是也是先打印了普洱,你的土豪请上车,然后紧跟着呢?是不是就进入到内部衣服的条件判断,也就是这套等等一的判断,如果这个条件成立,是不是执行有空座坐下了,也就是条件成立之后所执行的代码? 但是如果再次等等一这个条件要是不成立呢?是不是就跳到里面的衣服的 l 四要执行没有空座站着等这个代码啊,对不对?好, 那么接下来啊,同学们,咱们回到讲义当中来,是不是确实是当我们程序执行到条件,看这个外层条件一是否成立,如果不成立就执行不成立的代码,成立了是不是就执行所有成立的代码?这里老师画了一个黑框,是不是 代表的就是我们条件一成立所要执行的所有代码?而如果内部要是再有一幅,是不是还会进入到自己当前条件二的条件判断?如果不成立呢?是不是就是执行条件二不成立执行的代码了?那么接下来我们在下一步是不是就是退出我条件二所在的衣服? 那么如果我条件一也没有其他的代码了,那么条件一所在的衣服是不是也就执行完成?那么当然如果我条件二所在的衣服条件是成立的,那是不是就执行条件二成立所执行的代码?然后如果没有其他的代码了,是不是就退到条件一成立要执行的代码这个位置?但 条件一成立,执行代码也执行完了,那么整个条件一所在的条件判断是不是也就退出了,对不对?好,那么这就是我们大概啊,这个易补欠套他的一个执行原理。所以呢,我们就看 两个条件,那是否成立,条件一成立了,那就执行条件一成立的代码。那么紧跟着进入到条件二,再看条件二的条件是否成立,成立就执行成立的代码,不成立是不是就执行不成立执行的代码啊?对不对?好了, 那接下来啊,大致同学们简单了解一下我们这个衣服嵌套他的一个执行流程。那课下啊,咱们把这个图呢都去理解理解。那老师把咱们这个视频啊,稍微暂停一下。

好,好,那么在这里面的话,就关于这个分数吧,还是同样的,以这个分数这个案例为例子去讲一下,去讲一下。好,后面来说的话呢,如果说 低于六十分的情况,嗯,对吧?你像低于六十分还有很大的一个区间范围,对吧?零到六十分,他有很多的一个数字, 好,那么接下来的话呢,就会涉及到我们这个 if 欠套的一个判断,那么关于 if 欠套判断的话呢,就会涉及到我们当前小于六十分,他有很大的一个区间,对吧?就零 到六十分还有这么大的一个区间,那么我们可以做一个细分,就比如说这个孩子不及格,对吧?那不及格的话呢?如果说在五十分到六十分之间,对吧?可能 那还有救,对吧?就我,我那会,呃,我那会上高中的时候啊,我上高中的时候,如果说你每一科能够达到一个及格水平,分数线差不多的区间,那上大学还是可以上的, 对吧?也就是说如果说你我现在不清楚现在的情况,现在可能竞争比较大一点,那我那会读书的话,只要你能及格,那大学绝对是有上的,是吧?那我们呢可以做一个判断,就是如果说小于六十分的情况,我们再做一个细分,那就比如说,那我判断一下, 对吧?我判断一下当前这个时刻,如果说啊,他小于六十分,这是一个大前提,这是一个大前提,对吧?那他小于六十分的前提下呢?他大于五十分,对吧?如果说这个条件的话呢,那在这里面的话,还是给孩子加加油吧。 啊?加油,嗯,你还有机会可以上大学的,这里面的话就是五十到六十分的区间,五十到六十分的一个区间 啊,那么在这里面的话呢,如果说,如果说他比五十分还低呢, 是吧?那还低的话呢,在这里的话就大于等于吧,这里我判了一个等于啊,那还低的话呢,我们是不是可以通过这个 l 式去给大家是不是这么述述一下?这里就涉及到一个这个欠套的一个判断了, 对吧?那 a s 的逻辑就是小于六十分是一个大前提,并且来说他还小于五十分,那在这里面的话呢,他已经比六十分还低,他还比五十分还低。那在这里面的话呢,就是给大家 print 打一个东西,是吧?就比如说啊, 嗯,小于五十分,就是说什么呢?就学习不能,呃,代表一切。然后呢,这个我在工地 等你搬砖。对啊,我在工地等你搬砖啊,这是这个情况,给他打印这么一段。这个啊,画好完了以后呢,咱们来去右键去执行一下,是吧?那同样的在这里呢,我首先输入一个五十五分,对吧? 小于六十分的情况。然后呢大于五十分,那么他会打印这么一段话,以及也会打印这么一段话啊,这两段话都会打印,因为他满足相应的条件,是吧?以及我这里的这个代码逻辑在这里写了的 直接运行啊,对吧?首先打印熊孩子,我不想和你讲话,然后呢打印你还有机会可以上大学, 是吧?这是五十五分的情况,那如果说还小于五十分的,比如说四十五分,熊孩子我不想跟你讲话,这是肯定能答应的。然后呢,学习不能代表一切,我在工地等你搬砖。对,这是关于我们当前这个衣服欠套的一个判断啊,也就是说在当前这个地方, 这里面就是在啊在满足一个条件的情况下,那我们啊可以再次细分条件,我们可以再次细分条件, 那所以说在这里面的话,就是关于我们当前这个 if 欠套的一个判断。那 if 欠套判断的话其实有一个大前提,然后呢根据这个大前提呢,后面做一些细分的,包括在这里面的话,我们可以用 l e f 吗?可以。那像这个 l e f 话呢,就比如说,嗯,在这里我多加一个判断吧,就四十分到五十分之间吧,就在这里面的话呢,就大于等于四十,然后的话呢他是大于,然后呢?等于四十分, 是吧?大于等于四十分的话呢?同样的在这里面 tom print 搬砖去吧,是吧?然后呢? airs 就是其他的一个情况,对吧?那除了搬砖的话,还有其他的在这里给大家去统一的,给大家去输输一下。 那如果说在这个四十分到五十分之间,比如说四十四分,对吧?熊孩子,我不想跟你讲话,搬砖去吧,那么还小于四十分呢?返回一下,还小于四十分就会打印这一段,对吧?打印熊孩子以及打印。这个学习不能代表一切,打印这一段, 比如说三十九分,是不是欠到多少个都可以吗?没有限制吗?没有啊,只要你有相应的一个条件,你爱可以欠到很多层,好吧,一般来说的话呢,最多就欠到这个最多的,我看到的情况就大概五六成吧。 啊?这是关于这一点,这是关于我们这一点,这个 if 签到的一个判断。

大家好,我是马农阿勇,那么这一期呢给大家讲一下我们如何来通过拍摄呢,编写一个程序啊,来批量盘取我们网页上的一个小说名称, 那么在这里呢就要用到配送的一个库啊,一个下载库,那这里我用的是什么呢?我们的锐筷子库啊,锐筷子 这个库呢是需要安装的啊,需要咱们控制台你输一个 ps 到一块死库就可以了啊。然后呢还会用到我们的 正则表达是库,那么如有快速的库呢?否则去下载我们制定的网页啊网页,然后我们按一这个库呢,他主要的解析我们网页这个内容。好,我们下面来简单给大家编写一下是吧? 那么首先呢我要调用我们愉快思库的一个给的方法啊,然后呢这里边呢要啥呀?指定一个 网址啊,通过一个网址呢,他能把这个页面呢下载到本地,所以我在这呢是不是打开一个豆瓣小说的这样的一个页面啊,大家看这个页面是不是有很多的小说名字是吧?好,我们就这样把每一个名字啊,我们把这啥呀,从程序把它下到我们的一个本地啊,下到本地, 那么首先呢我们拿到了小说名是吧,这是小说的网址是吧?我们把它复制下来,复制到我们的程序中。好,然后呢复制完了之后,那么他会返回一个对象,返回一个对象啊,返回一个我们页面对象,页面对象 在这呢起个变量名是吧?好,这样呢,他这个奖励下的内容呢,就放在这个对象中,那我们需要通过一个方法呢,把它拿到是吧?啊?我们就写个配置是吧页面,然后就调我们这个配置, obg 啊,这样的一个对象通过手, 那么呢他是太克斯的啊,这样的一个属性呢,他就可以把这个页面的内容啊拿,拿到,拿到,那么我们可以呢把这个页面呢一会给大家打印出来看一下。 那我们拿到了页面之后呢,其实拿到页面是拿到什么样子呢?其实拿的是这个东西啊,我们大家看一下,按电脑上的 f 十一键是吧? f 十一键,其实我每一个网页的一个一个一个, 其实对于说我每个网页啊,他的一个音乐呢,都是一个啥呀?背后都是啥?都是我们的 htm 的代码,我们可以点那个箭头是吧?打开我点一个名字是吧? 这个名字大看,也就是说我们服务器呢,对方发的是这样的一串代码,然后经过我们本地浏览器呢,把它啥呀?把它就是结实执行成这样的一种,也渲染成一种这样的一个页面,那么所以说我们将来下程就是下啥这样的一些代码,要说我们的每一个名字啊,他都 是啥呀?在对应的 htm 的代码中,那么大家看他的每一个这个什么标题啊?叫活着,是不是他这个呢?是不是也也有一个标题叫做街舞杂货店,是不是要是我写个程序能够把这个这都搜不出的名字的这个对的名字提出来是不是就可以了?好,下面我们来提一下, 那么首先呢他会用到我们的一个正在表达式,是吧?所以我在这写一个正在表达式的变量啊,用它类存放我们的正在表达式,好,我们正在表达式提取这个内容。 然后呢我们大家看他的这个解忧杂货店啊,他是这样的一个地址和一个名称,说他要那么看这个呢,大家发了没有?他们 这个数字是不一样的,他这个网址是一样的,是不是标题是一样的,但他后面的这个标题对的内容是不一样的,是不是?哎?所以我们在这可以点右键选择编辑我们的啥呀,一直贴埋了,然后呢我把这个东西干什么呢?把它 对吧复制下来,然后呢?所以我们的啥呀?正在表达时的一部分,好,因为他这个内,他这个页面的内容啊,他里面本身包含的双引号,所以对怎么说来说呢?我们只外面加个啥单引号,是不是啊? 因为我们正在表达,是呢,说不定就是个字不出啊,就是个字不出。好,然后呢我们这是我们需要的内容,我们可以做个哎,做一个哎,填一个点加,就是匹配我们 啊叠加啊,去批评,我们要这个内容,也就把我们关心的内容呢,我们这个小框括去了,里边写个叠加问号就可以了啊,然后呢这里边呢 他的每一个数字不太一样,是不是啊?因为每一个这个小说名字对的数字不一样,所以我们这个钢琴家具批评这个数字,这样我们是不是就写完了?好,写完之后呢,我们就调用我们正在表达式的一个翻到这个 方法啊,然后前面呢第一个参数传的是我们正在表达室,第一个呢传的是我们啥我们的页面内容,然后呢他会返回这个提取的值的一个结果啊,我们把这个结果呢把呢?我们我们使一个变量,是吧?他其实返回的是一个列表,好,这样呢我们就可以了, 然后呢我把这个数据呢,我们把它打印出,看一下我们是不是成功拿到这个利润,是吧? 大家看这个是不是很遗憾呢?啊?他显示的是有空的,没有拿到啊,没有拿到的原因是什么呢?他这个页面没有弹出来,所以我们这就没有拿到, 那没有拿到可能是啥?可能人家那个网站呢啊?他去检测我不是一个啥,他发一个一个一个浏览器,是不是?所以我自己呢做一个伪装 装,是吧?所以在这呢做一个伪造一个啥呀?图文件啊,伪造一个图文件啊,那么这个图文件怎么伪造呢?其实我们在这这是这个网络啊,我们点这个网络,然后呢我们刷新这个页面, 那么他会重新加载的页面,是不是他加载完之后呢?我们选择他对应的这个页面的一个网址,是不是?哎?这个里边有一个头,是吧?这是他讲的一个内容, 我们这里看个头,这个头文件里面有一个叫个什么呢?有一个叫个啊,我们看一下他应该是在下边,应该是在下边啊, 下面有一个用户代理,是吧?咱还有这个啊,有个用户代理,我把用户代理直接呢复制到我们的程序中啊,也就是把我的程序伪装成啥一个浏览器啊?我把这个呢放到这,我们的然后在这边呢构造成一个字典,是吧?他呢就做一个啥 我们的哎,所以我们的箭,是吧?这个呢后面呢是左右我们的直啊,左右的直,这样是不就完了?哦,这样就构造了一个呃头是吧?然后呢我在这个地方呢,给他一个, 把每一皂头呢给下他这个,给他这个方法的一个参数啊,传给他就行了啊。然后我们再走,我们看一下 打开是不是出来了,这样我们拿到了杰欧杂货店的活着追风的人呢,他的每个小说名字我们就轻松的拿到了 啊,大家看上面是不是拿到了啥呀?这个网页的内容啊,也就是我们从服务器发给我们的内容呢,他就是一串代码,但是呢他真正的数据呢,他就放在啥呀?这个代码中,我们看这里是搜啊,我们搜一个,比如解忧杂货店是吧? 然后你们看一下解忧会扯大看,然后往上走是吧?大看也就是我们通过 请求这页面的内容啊,它里面包含着啥呀?我们想要的一些数据,所以说我们只需要啥呀,通过正则啊去解析一下啊就可以了。好,这是这一节给大家分享的一个啊,批量排球,我们小说名称这样的一个例子。

at now frames 这个配置使脚本在主页上运行,但不在页面里的 e frame 上运行。

大家好,我是橙子老师啊,这节课呢,咱们使用拍摄啊,去实现发送邮件的功能。呃,其实发送邮件的这个功能在编程领域他的这个应用还是很多的啊,比如说接收验证码啊,或者是,呃 通过邮件啊去发送一些通知啊,比如说,呃,我做了一个系统啊,然后这个管理员只要登录了之后啊,就会发送一个邮件啊, 然后发送到手机啊,防止其他人盗用密码,是不是登录啊,对吧?啊?再就比如说,呃,拍摄领域爬虫的应用啊,他可以爬取一些信息啊,比如说监控一些数据啊,比如说天气预报啊, 比如说让这个拍笋爬巢啊,可以实时的去监视某个地区的这个天气情况啊,比如说有雨,有雨的话,给自己手机发送个邮件啊,说这个 是吧?啊,这些发送信息啊,做提示作用啊,发送邮件啊,可以使用派森这个发送邮件的功能啊,他可以降低咱们的成本啊,因为这个发送邮件他是免费的。好, 接下来咱们看一下怎么使用拍摄去发送邮件啊,这是发送邮件的四个步骤啊,连接啊这个服务器,然后登录用户名和密码啊,发送内容,然后退出这个链接啊,然后这里有一个我的一个博客啊, 然后,呃,这个代码啊,都是在我的博客里边,如果说想直接复制的话,呃,可以来我的博客啊,就是这个啊, 这里啊,直接输入什么让这个 it 杠啊,然后乘字点, bloj 点, csdn 点呃 net, 啊,就是这个啊,把这里面的这个点啊换成真正的这个英文字母,这个点啊,注意,这是这个 啊,好,来,接下来咱们就来实现一下啊,我这里已经准备好了代码啊已经准备好了代码,这个代码呢就是在,呃这个 邮件里啊,在这个博客里啊复制下来的啊复制下来的啊,如果说你们想复制的话,是吧?然后可以访问到这个网页里啊,然后咱们这里搜一个什么呢?搜一个邮件啊,一回车 这里第一个这个啊,拍摄学习笔记啊,这个发送邮件这个里就是啊,点开之后,然后咱们可以看到下面是不是有一些代码啊啊?咱们就可以根据这些代码啊来实现来复制一下,复制一下,然后到这个咱们的呃陪他们里啊,粘贴一下,然后我这里呢已经把相关的这些变量啊, 然后都给复制上了啊,都给自己写好了。呃,接下来我就讲解啊,怎么去看这个代码,怎么读这个代码啊,上面那些定义的变量他有什么用啊?就为什么把 把这些变量都放到底了呢?啊?这是因为就是一个编程的习惯啊。呃把这个一些变量都写到上面啊,别人一看的话就知道,呃 都用了哪些变量是吧?啊?需要修改哪些数据,呃,一目了然啊,但是咱们初学者要看的时候啊,先看这里啊,我这里标的很清楚,第一步啊,其实是准备前的工作啊,实力化啊, smtp 这个对象啊,其实呢这个 smtplib 啊,他是这个库啊,这个模块,这个模块里面呢有这个类啊,咱们通过这个类是不是就可以生成一个具体的对象啊? 咱们上节课是不是讲了类和对象,对吧?啊?类是这个类型啊,这个一个模板啊,生成一个具体的一个东西啊,就是这个对象啊,这个类里边呢装了好多的啊,有关邮件的啊,发送邮件的,呃一些方法啊,或者是 还有一些变量,是吧?来咱看一下,生成了这个对象之后咱们可以访问这个使用这个对象里边的啊,可耐克他这个方法啊,去连接来这里啊,这个创建对象的时候需要给他传一个什么的这个服务器啊, 来看一下,就是他的这个网址啊,这个这个网站啊,可以理解为网站啊,就是说咱们呃是假如说使用 qq 的这个,呃发送邮件的这个网站去发送啊, 然后咱们得知道这个网址,对吧?啊?得知道这个网址啊,这是这个 smtp 点 qq 点 cum 啊,是这个网址。 好,创建完对象之后咱们去连接啊,这个连接就相当于打开这个链接呗,对吧?啊?他们俩这个是一样的,这俩是一样的,然后还有端口,呃这里就是有网址了,还需要有端口啊?还需要有端口,就比如说知道你们家在哪了是吧?呃比如 说想进入你们家的物理是不可以从窗户进呀?还可以从门进,是不是有好多的这个端口啊,对吧?有好多的口啊,在这个咱们电脑里也一样啊,服务器里也一样, 就是说想进入你的电脑啊,不光要知道你的这个地址啊,还要知道你的这个端口啊,从哪个端口进啊,才能进入到你这个呃服务器里,或者是你的个人电脑里啊,这是这个端口和呃 福气的这个网址啊,这里就是 qq 的啊, qq 邮箱的啊,他默认是四五六啊,默认是四五六,咱们这个演示啊,就是以 qq 邮箱啊为例来,接下来就是登录啊,使用这个对象啊里面的,呃,捞个印啊,登录,根据用户名和密码去登录 来,这个用户名来了,看上面已经有了啊,这个用户名就是我的这个呃,邮箱号啊,这个末尾是点这个这个七二这个邮箱号啊, 然后这里的这个帕斯沃尔的密码啊,密码,我这里用的是这个授权码啊,不是真正的密码。如果说,呃,你想去这个 呃尝试的话啊,可以使用自己的这个 qq 邮箱,然后使用自己的这个授权码啊,我跟大家说一下这个授权码怎么获取啊?登录到这个 qq 邮箱以后啊,登录到 qq 邮箱以后,这里是不是有这个设置啊,对吧?点一下设置, 点下设置里边点一下账户啊,点一下账户,然后往下找,这里有一些这个设置的这些该开启的开启啊,然后这里有一个这个截图啊,咱看一下,就是说这些啊,开启,开启,开启啊, 这三开启之后,然后,呃下面,然后这里是不是有这个?开启这个的时候,他应该就会提示生成这个授权码啊,开启这个这个的时候, smdp 这个的时候啊,他就会提示提示了之后,然后根据这个密保,新密保的手机号啊, 然后发送短信啊,然后就可以生成这个呃授权码啊,使用授权码,咱们这里就是使用账号和这个授权码啊进行登录的。好, 然后接下来就是发送消息啊,先不要看这一行啊,咱们要先看下边这一行啊,就是你登录了以后是不是要发送内容啊,对吧?你这里要给他传你发送者是谁?发送者是不是就是咱们呃 这个七二这个邮箱啊,对吧?是七二这个邮箱,那接收者呢?接收者的话我这里是这个幺四这个邮箱啊,末尾是幺四这个邮箱,我这里是用的列表啊,就是说你这个接收者还可以有好多,比如说你一个人给一群人发,对吧?你这里就用这个逗号 隔开啊,这里放好多个油箱就可以了啊,咱们测试的话我这里就放一个接收的油箱啊,使用这个幺四去接收啊。来还有一个设置发送的消息啊,设置发送的消息,这个不能直接 写到这里啊,这个消息他也是有格式的啊,也是有这个呃类型的啊,所以说咱们需要用这个类型啊,去生成啊, 生成,然后把它呃整成奏串啊,然后放到这啊,所以说咱们要先看这里啊,只是说这个参数里边需要用到了这个类型啊,咱们在上面先呃 执行一下啊,下边就可以用了啊,大体顺序先看的时候是先看这行啊,然后这里这里有发送内容啊,其实你把这个发送内容直接写到这里也可以啊,然后这里我就写到了上面啊,这是发送邮件的内容,是吧?啊? 就是这个样子,这样的话,呃这个发送邮件的内容啊,这就是设置好了,然后最后一步就是当你发送完了之后是不是就可以退出了,对吧?啊?哎,大家,呃可以看一下这个效果啊,可以看一下效果运行一下来,现在我运行一下 进程已结束,是吧?退出再挽留来,好,咱看一下这个这里边有没有收到来,呃,我点击一下这个邮箱首页来,这里有一个未读邮件是吧?来看一下啊,这个未读邮件啊,就是刚才咱们发送的就十一秒前是吧啊,发送到这个幺四的邮箱里了啊,这幺四则是接收的啊。 来看一下这里他这个无主题是吧?然后这里是发动内容全文,来,咱点一下全文看一下啊。这里,呃有这个时间啊,有这个邮件的内容,但是没有主题,发件人也没有啊。接下来咱们就是去完善一下啊,目前的话咱们这个已经可以用了啊,已经可以用了来,呃, 如果说大家还是不太了解的话啊,然后一定要这个看一下这几个步骤啊这几个步骤啊,来,呃,遇到这些变量啊,咱们也可以直接写到这,也可以在上面定义啊,把这几个步骤看好啊,就跟咱们平时发邮件是呃差不多的啊,你得先呃连接吧, 那先打开这个网址吧,对吧?这一步就相当于打开这个网址,然后相当于输入账号和密码,然后然后这个,呃发送内容啊,发送内容的时候这个格式一定要注意啊,是通过他生成的啊,然后 发送完了直接退出啊,想想咱们生活中的这个步骤啊,其实是差不多的啊,差不多的啊,这些,呃就是其他的没有收到的地方啊,就可以不用改啊,不用改啊, 接下来咱们就去完善一下啊,然后我这里定义的创建了一个太子的零二,来当把这个太子零一里边的所有内容看着 c 一下,然后 ctrl v 一下,好,都粘贴过来,咱们用这个太子二啊去完善这个发送消息的这个功能,来看一下。呃,看一下这个代码里边 往下找,这里有这个完善啊,发送完善这个发家人、收件人还有主题看一下他这里需要用到什么呢?呃,需要用到这个,需要导入这个 啊,然后他这里还需要这些。来,咱先把这个复制一下来复制一下。复制到哪呢?复制到这个 msj 的下面来看一下。咱们从这空一些格 ctrlv 一下来把这些,呃,这个多余的这些删掉啊,来 看一下啊,这个就相当于获得了 f s g 啊, m s g 啊,你可以把它当成一个这个字典,是吧?把这个专门这个字段负的值是这个啊,兔的这个字段啊,负的值是这个,然后这是主题主题负的值是这个啊,这是这个主题,具体的内容是什么啊?他这里,呃 呃,把它负了一个变量啊,把变量放到这了啊,这个害的啊,是一个具体的类型吧,对吧?是一个类啊。来,现在咱们要把它导入啊,可以把 他复制过来啊,把他复制过来,复制到这来,咱们现在就复制一下。呃,复制,然后看这位粘贴好,现在看下面是不是就不保妥了啊,一定要记住啊,把这个啊来自哪啊?发送到哪, 然后这个主题这三个啊放到哪呢?放到这个 mst 的下边这里啊,咱们这里来自于哪的?来自于这个派森测试是吧?给了谁呢?发送给谁呢?这个管理员啊,主题呢?呃,就是这里写的是测试邮件是吧?啊?行,来,咱运行一下,看一下收到的邮件是什么效果来,运行。 好,这里已经结束了,来,咱看看有没有收到这个邮件啊,咱们点一下这个邮邮箱首页来看一下,这里有一封未读,是吧?来,未读消息看这里啊,展示全全文,这里是不是有这个主题了,对吧? 这个主题啊,咱们刚才已经在这里写了啊,然后这里还有什么呢?还有这个收发件人派审测试,对吧?咱们这个发件人是不是服让吗?啊?这个自断,是吧?然后对应的是这个派审测试这个内容吧,对吧?然后还有收件人是管理员啊,收件人就是接收的啊,咱这里写的管理员啊,然后其他的就没有了啊, 就是主题啊,收件人发件人,咱们可以这样去设置啊,你想改成其他的也可以啊,想改成其他的也可以。好,这是对 他们的一个完善啊。来,接下来咱看一下,呃,能不能发送这个带附件的,比如说,呃,我想发送一个图片,对吧?我邮箱里我想带一张图片啊,可不可以呢?也是可以的啊,然后这里有一个什么发送 html 格式,然后这里就把这个替换一下啊,这个很简单啊,如果说后期学到 atml 的时候啊, 这里可以是真正的 a 七 ml 代码啊,这就是简单的一个,呃,你好,这个消息啊,这个咱们就过了啊,然后咱们看一下这个发送带福建的这个,呃,还是把这个代码咱们看 a 啊,全选,然后复制到这个太子零三里边啊,咱们看看怎么给他改一下,然后就能够发送福建了。这里有个一一的 gpg, 点开一下是一个橙子 的图标,是吧?啊?这个橙子图标来,现在咱们就想把这个图片放到这个邮件的附件里边,给他发过去来,看,需要改哪。嗯,这里呢?需要,就是说导入的时候需要导入一下这个, 呃,方法啊,这里啊需要导入一下这个模块啊,来这里边就是发送消息的时候啊,上面这需要改一下,然后还有这个。呃,下边这啊需要改一下来,现在咱们就把这个该改的地方都给他替换掉啊。来,呃,先导入一下,把这个导入复制一下。好复制到顶啊,导入 来下边这些咱们从这里问。发送邮件内容啊,这里到这里吧。啊,因为这个发送的这个是一样的啊,上面这些咱可以复制一下来。呃,把这块替换掉,就是发送的这块啊,发送内容到这啊就是具体时间发送。这个咱们可以不用动,来看这围一下 啊,把这个他带的一些其他的啊删掉就可以啊。好,来看一下。呃,这里啊,就从这 啊,从这个井号这啊三发送邮件内容到下面这啊是咱们。呃这个发送的内容的一些设置啊,上面这里啊,他这里略微有改动啊,然后这里是文件 副驾功能的,这个是吧?啊?这是主题啊,然后这些来自哪?这个给谁发?然后这个主题啊,这个都没什么事啊,这是内容啊,这是内容啊,这是主题,然后这下面就是这个构造。什么构造?副驾的一个 一个功能啊?就这几行代码来。呃,这里是打开这个,也就是打开这个一点,这个 gpg 以读的方式啊,这就涉及到这个文件的读写了是吧?啊?如果说这个不了解文件读写的话啊,可以看我以前的这个视频啊,然后这里啊就是读取 到了这个图片的视频,读取到这个图片啊,然后咱们就先打开这个图片是读的方式,然后读取到内容啊,咱们把这个内容放到这里啊,放到这里,然后把这个然后又 加了一个头,是吧?以什么内容啊?这个文件名是什么啊?这个就是在邮件里显示的这个这个图片的名称啊,然后再把他这个 他添加过来啊,这个就是大概的这个流程了解一下啊,到时候该修改的地方是不是修改一下,对吧?你想换成别的这个图片的话啊,就改改名啊,换成别的文档的话是不是也可以改改啊,然后下边这里的话这个发送这啊就不用动手了啊, 发送复建啊,要改的地方啊,就是这里啊就是咱们复制过来啊,还有下边这块啊,这个是关于复建的啊,然后一发送来,现在咱试一下看一下这个效果来运行 好程序进行结束,来,咱看一下这个发 送到的邮件来。呃,点击邮箱首页看一下,这有一封未读的,对吧?来看一下啊,点击一下全文,哎,看一下这里是不是就有个附件啊,对吧?啊?这里主题是测试邮件的主题啊,这里是测试这个发动附件功能啊。啊,这里这个图片已经看到了啊,如果说有的 油箱啊接收不到这个邮件的话,可能是在这个垃圾箱里啊,这个注意一下啊,我这里在这个收件箱里啊,都可以接收的到啊。好,这就是有关邮件的发送,咱们本节课到这里,下节课再见。


上节课我们掌握了用衣服判断实现条件成立就执行某段分支代码,那么条件不成立,我想让他执行另一段代码,怎么做呢?我们来看这里有个语法叫 a s 加毛号,然后后面也是跟缩进的代码块, s 的子弹哪块会在前面的衣服条件不成立的情况下执行?还是拿上一个例子来看,我这里写一个 a s 冒号,就是如果前面条件成立我就表白,如果不成立就答应一句你是个好人。 再来看整个代码的运行流程,首先还是执行主线代码,运行前面三行,采取对方的信息,然后执行到衣服判断的时候,就会有两个分支,如果条件成立,则会打印表白的话,然后跳过 l 四,直接回到主线继续执行后面的代码,如果条件不成立,则会直接执行 l 四,再次代码块, 最后整个衣服判断的指代码块执行完之后则会回到主线继续执行后面的代码。我们来运行看看,还是 输入四女二十,条件成立就直接表白了,然后处着处着发现你是个渣男,接着我再运行一次,输入四女八十五,这样的话条件就不成立了,结果就打赢了,你是个好人。言外之意就是你不满足我找女朋友的条件,对吧? 最后仍然打赢了,你是个渣男。也就是不管你衣服判断结果如何,分支的代码怎么执行,都不会影响主线的代码执行,你再怎么伪装都掩盖不了你渣男的身份,是这意思吧? 好,关于 effl 什么就讲完了,就是满足条件执行一段代码,不满足条件执行另外一段代码。接着再来看另外一种情况,在我们的生活中,并不一定所有的判断都是非此即彼的吧, 可能遇到的问题有第一种情况,还有第二、第三、第二种情况。举个例子,你小时候考试,你爸跟你说,只要你考到一百分就带你去海洋公园,考到八十分以上就带你吃肯德基,考到六十分以上 啥也没有,不及格的话就请你吃一顿皮鞭。这就有四种情况了,刚刚我们学的 e fls 就实现不了了,这时候衣服就有了另外一种用法叫 le 用法,就是这样的衣服条件后面跟子弹哪块, 然后接着 led 写第二个条件,条件写完也是写一个冒号回车,接着缩进鞋子蛋白块,这个 led 可以写无限多个,你想写多少就可以写多少,也就是不管你有多少种情况,都可以使用 led 来处理。 最后你也可以跟一个我们刚刚讲过的 a s, 当然这个 a s 你也可以不讲,你可以根据自己的情况来,但是一般我们还是会加上用来处理我们想到的所有条件都不成立的情况。 运行流程就是首先判断衣服的第一个条件,如果条件成立,就会执行第一个子弹板块,然后会直接跳过后面所有的 l e 和 l s, 继续执行主线代码,如果第一个条件不成立,就会进入下一个 l e 服。条件判断成立,则执行对应的子弹板块,之后立即退出 判断,回到主线。就是只要有一个条件成立了,就会执行对应的子弹板块,然后退出判断,回到主线。如果所有条件都不成立,则会执行 l 四的子弹板块。我们来把刚刚的例子实现一下,我就不用硬铺的采集了,你自己练习的话,可以用硬铺的来采集分数 直接定一个变量,贵的等于一百分。然后我开始判断衣服贵的等于等于一百,冒号,我就答应一句,去海洋公园。 接着 lf 判断规大于等于八十,小于一百冒号。因为我们前面是先判断一百,所以这里就不用再写小于一百这个条件了,因为如果执行到第二个判断了,就说明前面条件不成立,肯定是小于一百了。 考到八十分以上就打赢一局吃肯德基。接着在 l f 判断库瑞德大于等于六十,幕后打赢喝西北风。最后一个条件就不用再判断了,如果执行到这里了,就说明前面条件都不成立, 你的分数肯定是小于六十的。所以最后我直接写一个 a s 冒号就行了,打赢裤子脱掉皮鞭伺候。现在是一百分,我们运行一下,打赢的就是去海洋公园,然后我改成五十九分,再运行一下,结果就是皮鞭伺候了。最后我们总结一下 e 加 a, 二加 a 二十的这种用法, 最后只会运行成功一个子弹那块,只要有一个条件成立了,后续的判断都不会再做了。如果所有条件都不成立,这只会执行 a s 下面的子弹那块。

我们这一节课讲那个波尔数据类型和 f, 呃,只,所以将这个布尔和数据布尔数据类型和 f 放到一起呢,因为那个布尔类型啊,将是那个学习 f 的一个前提,一个前置知识,所以说我们需要先学习一下布尔数据类型 啊。什么是布尔数据类型的?其实呢,布尔数据类型非常简单, 他只有两个值,约定的只有两个值,一个就是真,一个是假。 通常呢,我们会用那个处代表针,用 boss 代表假, 那这个处和 boss 是怎么来的呢?是根据那个条件表达式的输出的一个结果。 条件表达式是指将那个两个数字啊或两个字符串啊做比较,然后看这个比较是否成立,比如说五 大于六这两个数字啊,这个表达是,这就是一个条件表达,是他如果成立的话,五大于六的话,他就会返回真。哎,这个表达是是真的,只是真的,如果五不大于六的话,他就会返回假,就是 boss。 那这就是一个左右两边的一个直的一个比较。那同理啊,我们也可以对字 不算进行比较,比较是否相等。我们现在先做个数字的一个比较,来看一下都支持哪些比较。 那我们打开我们的 pvx 之后啊,点击一下,右下角有一个拍成康手,这个是交互式的一个命令窗口,可以用来很快捷的编一些简单的程序语法。就是一些脚本嘛,简短的一些脚本语法。 我们点一下这个地方重启,如果你想关闭的话,然后就可以点石头补, 你点这个启动的话,他会在内存中申请一块空间,那么你在这个过程中编写的这个变量啊,定义的变量啊等等啊,都会保存在这个内存之中,可以随 是用。比如说我们现在那个申请一个 x 一吧,等于五, 那么我们可以直接打 x 一,他就会打出来五,这就是已经在内存中申请了一块空间来存储这个五这个数据,这个数字, 那么下面我们就来比较一下刚才我们讲的数字的之间的一个比较,比如说五大于六是否成立,那我们知道肯定是不成立的,所以说很显然他会返回 boss, 所以说这个表达式啊,就将他的那个比较的结果返回了,他返回的就是一个不尔数据类型的值 boss, 那么我们稍微改一下,五大于四, 那这个就成立了,所以说我们可以预想啊,他肯定是返回处,小鱼相里啊,相相同啊,小鱼啊,也是这样来判断的啊,五丝毫小于四肯定是假吗?对不对? 所以说我们不做演示了。另外的话,他还可以大于小于,还可以结合这个等于一起来做判断,比如说五六大于是否大于等于五吧,大于五吧,大家可以猜一下这个会返回什么? 这个其实会返回一个处,因为呢六是大于等于五的, 对不对?这两个条件他是满 出了一个大于,他就会返回处,虽然不等于,但是已经大于了,对不对?我们输入五正确,我们输入六也正确, 输入七就不行了,因为他不满足条件,他也不等于七,也不大于七六, 除了这个数字啊,还有那个字符串也可以做比较,字符串最常见的做比较,其实就是这个 是否相等,比较是否相等。比如说我们现在定一个变量,内蒙叫小明 啊,现在已经在内存之中啊,申请了一块空间存储,小明这个字不窜。下面我们 我们就来比较一下这个, 比如说这个内蒙是否等于小明,他的意思是是内蒙这个直 是否等于小明,如果等于的话,这个表达是返回的,就是一个处,如果不等于就会返回 boss, 那这里我们给他的复制就是小明,所以说他就会返回处吗?如果我们稍微改一下,他就不等于了吗?就会返回 boss 吗? 等于。还有一个取反的一个符号取反,比如说啊,内 加叹号,再写个等于,他的意思是是那个内蒙是 不等于小明, 结果肯定是等于小明的,但是他这边取这个反就是不等于,所以说呢,他将那个表达是就翻转了一下,那个结果我们可以看到,哎, 他就会返回 boss 了,因为他是等于的,所以说不等于,这个就不成立。你如果再改一下,这个就成立了,是这个内幕是不等于小,所以说他才会返回处,这就是一个驱反的一个操作。我们下面就可以来总结一下啊,这个 不是表达式了,不是表达式。首先呢,他有两个值,一个是出一个 boss, 通常呢我们的那个条件表达是都会返回一个结果,他的结果的数据类型就是不尔,数据类型也就 处和 boss。 那么通常我们经常用到的一些操作符号表达,那个比较的符号就是等于号,这是两个等于号,表示左右两边是否相等, 这两边是否相等。然后我如果在等于号前面加叹号,他代表的意思是这个是否不相等?另外的话数字还可以进行,有这个大于小于、 大于小于,还有那个大于等大于等于小于等于 数字呢?也支持这个不等于,大家可以试一下。那么这个这个波儿表达式就讲完了啊,下面我们会讲那个 f。