00:00
好,同学们,那么我们接下来呀,要讲一下啥呢?我们要讲一下cliium的一个元素定位,那我先说一下啊,为啥要讲它,假如说呀,我们在哪儿啊,在百度的这个页面中啊,我要干什么,我要模拟真正的我们的人为事件,假的我在这里边儿可以输入一个,假如说输一个周杰伦,对吧,各位我输入完之后。我要干啥,我是不是得点百度一下啊,你看这刚才那几步啊,第一个你要找到这个文本框,然后往里边输入数据,再点击百度一下,是不是会跳到这个页面呢?同学们对吧?各位,所以说这个里边我刚才说了几件事儿哈,你要找到那个文本框。你通过啥来找啊?是不是你通过什么来找而找的这个东西,我们这个知识点就叫啥呀,就叫做元素定位,同学们能理解吧?那么说我们在此离命目中元素定位有哪几种方式呢?我们先来看,我一共给大家分享六种定位方式,首先看元素定位自动化要做的就是模拟鼠标和键盘来操作这些元素,点击输入灯操作,操作这些元素前我们需要找到他们啊,而web driver呢,给我们提供了很多定位元素的方法,那在这里边需要跟咱们同学去说明一下啊。
01:29
一会儿我们写完代码,我运行,我啥也不干,就他让他自己动,我们不动他的,他来动明白不?各位而这个前提我们要干啥来找到这些东西,好,同学们,那现在呢,我们来写一个小案例啊。然后是上硅谷爬虫,这叫cliium,然后下线叫什么来着,叫元素定位啊元素定位,那么元素定位呢,我们一共讲了六种,在这之前,首先我要用它的时候,是不是得导入一下啊sliium,然后import啥web driver吧,Web driver好同学们,那第一个事儿哈,第一个事儿我们要干啥呀?
02:15
啊,我们要做什么,我们是不是要先创建一个浏览器对象啊,所以在这里边呢,我们要干啥?我们要先写一个pass,它等于啥呀,等于chrome.driver.exe吧,那紧接着我们创建一个浏览器对象,这个browse是咱们自己命名的啊,你爱叫啥叫啥web driver.chrome里边写个pass,好,浏览器对象已经创建成功,然后进来干啥呀,你得知道我要访问谁呀,对吧?那如果说我访问百度首页,那我要啥?我点这个百度一下吧,来右键检查。右键检查。我来干什么呢?我来获取一下这个,呃,谁呢,百度一下这个对象,那是不是就是这个input呀,对吧,那他有个ID是不是叫Su,好OK啊,那我们来写第一个来访问一下啊,说URL等于HTPS,然后3W点百度点com对吧,各位那接下来干啥呀?我访问它呗,你有这个ul,你不访问的,你留它干啥呀,对吧,大家所以说接下来啊,接下来我们要啥呢?叫元素定位。
03:27
那么这个元素定位第一种我们用的是啥呢?看啊第一个我们获取的是小按钮嘛,对吧?写个button等于啥呢?等于browser.find的ID,哎,Find ID find的ID它是啥意思啊,它是根据ID来寻找ID的值,那这里边的ID的值啥呀?是不是叫Su啊,哪去了这了,看这里是不是叫啊,所以说在这里边我们来干啥呀?写个Su,然后来打印一下这个button。嗯,来运行一下啊,这写个小注式啊,写小注释叫啥呢?根据ID来找到这个对象。
04:09
好,我们来运行一下。走来OK了啊,我们看找没找到啊,是不是找到了呀,对吧?哎,那现在这里边的东西我们可能看不到啊,不着急啊不着急,像想要获取百度一下,那我们是下一个知识点啊,他只要能打出打出这个东西,我们就证明我们找到了这个input的对象。那么这个完事之后呢,我们知道了根据ID呢,能找,那还能根据啥呀?同学们看啊,Button等于browse.find name,那这个name又是啥呀?那同学可能猜老师他是不是这个标签名啊,来看一下有没有什么东西啊,这个还受到他的一个控制啊,不管他name是谁呀,是标签的名字啊,还是其他的东西呢?哎,这个需要我们知道一下啊,那这里边没有name我们就证明不了吧,我看谁有name啊,我对这个文本框定位一下,走文本框里边这个是,诶这文本框啊。
05:16
定位一下来走移动它好,同学们你看这里边是不是有一个input,然后name等于WD啊,是它吧,哎,这这是它,我们为了做一个对比哈,我输先输入一下input,再输入一下WD,我看哪一个才是我们想要的呢?Input,然后print button,好,我们来运行一下走。嗯,好,他咋的了,同学们,它是不是报错了呀,对吧?没有匹配的节点看到了吗?各位,哎,没有匹配节点,所以说我们写标签的名对吗?是不对,我们应该写的是啥属性的值吧?好同学们,我们再看他报没报错呀,没有报错,所以说同学们注意啊,它是根据啥呀,它是根据标签属性的属性值来获取对象的啊,根据标签。
06:18
标签属性的属性值来获取对象的啊,千万要注意啊,好,同学们,这是name,那么下一个我们还有啥呢?我还有这个更神奇的,它有这样一个东西啊,等于browse点叉pass。哎,Find叉pass,那这个什么叫find叉pass呢?注意啊,同学们,这里边有个小特点,刚才有同学细心的可能看到了,叫find叉pass,有一个带S的,有一个没带S的,请问我应该选择哪个?啊,当然这个你看你看你自己的诉求啊,如果说你要返回一个对象的话,那你就选择叉pass,如果它是有多个这个值的话,你就选择啥差elements啊带S这个啊要注意。
07:09
好,那我还是要选择谁呢?我们要选择百度一下来走百度一下,那是ID等于Su啊,Input ID Su,那你还会写它的一个差帕语句吗?是不是input,然后啥呀艾ID等于Su啊对吧,各位哎,来,我来打印一下button,哎,再运行走你。好又打开了,打开之后我们看给没给值啊,给值了,但是因为我们加了S,所以它才返回一个列表,同学们理解吧,啊要注意啊,那如果不加S呢,再来运行走你。我们来看,哎哎,给关掉带这个中号了吧,没带这就是他们一个细节上的一个区别,视情况而定啊,因为我这ID等于SUID是唯一的,所以在这啊,我写啥都行,OK啊同学们好,这是啥呢?根据。
08:09
叫做叉pass语句。来干啥呀?来获取对象啊,千万要整明白了,那么紧接着我们再看一下子,说还有啥呢?来写上button等于啥,等于brother.get find啥他name这个也是一样的,一个带S,一个不带S,我这里边我们就随便选啊,随便选,那么这个name是啥啥叫t name t name这个我们就不用多说了吧,是啥呀?是不是标签的名字啊,兄弟们对吧?哎,是因为标签的名字,我来运行它。好,同学们,我们再看一下结果,是不是又一个列表里边有很多的东西啊,对吧,各位,哎,因为啥呢?因为我们在整个页面的源码中,它有很多input的啥标签啊,这是根据。
09:08
根据标签的名字来获取啥呀?获取对象啊,根据标签的名字来获取对象,好,同学们,我们现在已经讲了四个了,那还有别的没有啊啊,我告诉大家有对吧?它一共六个吗?那下边这个又是啥呢?来八层等于啥呢?等于browse.find这里边叫CSS select,注意啊,同学们,什么叫做CSS select。它就是我们说的啥呀,BS的语法里边追于选择器,那BS语法假如说现在我还想要啥呢。我想要这个,哎,哪去了这了来还想要这个Su这个那咋整啊。我们怎么写?是不是加个井号Su就完事了?来打印一下button来看走你。
10:03
嗯,打开,诶你看是不是也获取着了,所以说大家注意啊,这里边这个CSS selector它使用的是啊,你现在可以这么记BS的语法来实现的,BS的语法来获取啥呀,对象啊,完全支持啊,完全支持,OK,现在同学们我们已经讲了五个定位元素的方法了,那么最后一个是啥呢?叫link t来写个button,等于browse.find叫啥叫link,诶写写错了啊,写错了,哎,点find link test,哎,这也是有一个带S,一个没带S的,我们选哪个都行,然后这把选择不带S,它又是啥呢?这个东西是啥呢?大家注意啊,它很奇妙,它获取的是当前页面中哪个是链接文本。
11:03
啥叫链接文本呢?就是A标签的文本,那也就是说这111入,它变成一个小手似的啊rock roll是吧,那这个东西呢,就叫链接文本,我们在这儿选择啥呀,选择直播吧。来选择直播这个字,你不允许打错啊直播,然后呢,我们再来打印一下button。好,我们来运行一下走。那同学们看是不是也获取到了呢?OK吧,各位,哎,这就是啥呀,我们元素定位的六种方式啊,元素定位六种方式,这里边我们最常用的同学们要解释一下,ID常用,叉pass常用,Select常用,就弹仨啊就弹仨视情况去使用啊好,同学们以上呢就是我们cliium的一个元素定位,那么下个案例我们即将讲它的交互,把视频暂停一下。
我来说两句