元素定位-03 重点讲解css

2018-08-25  本文已影响0人  想_上天

元素定位:CCS和xpath(做项目一般用css定位--抗变性强)

xpath定位:根据路径定位,一层一层往下找的方式

xpath的优点:定位语法丰富

            缺点:定位速度相对CSS定位速度慢一些,抗变性弱比如:

(Xpath是根据路径来查找,那么会出现一种场景,当下一个版本需求不明确时,开发了更改路径

元素的路径在HTML页面中发生改变,此时还用之前的定位就会报错,那么就需要调整xpath的定位,)

打开网站,按下键盘F12找到Network选择All,然后将网站刷新一遍,可以看到在Name中服务器返回的, 第一个开始最先返回的时图片和JS脚本--原因:就好比在网络信号差的地方,用户打开一个网站,网站的加载要时间,我们总不能让用户一直等吧,那就先给用户一个小希望,出个图片什么的,吸引一下用户,好让用户能够继续等待一会。

CSS定位:CSS是层叠样式表(样式:跟图片有关的,图片优先被加载,跟路径没关系,所以速度快)

CSS定位的优点:1.语法简洁  2 .点位速度快 3. 抗变性强

                缺点:不支持多个索引

语法:dr.find_element_by_css_selector("")

1、用id或者class的时候的写法  id--用一个#代替  class--用一个.代替(可用于css的层级与属性结合定位)

      以www.baidu .com做演示

      id      # dr.find_element_by_css_selector("#kw").send_keys("123")

      class  # dr.find_element_by_css_selector(".s_ipt").send_keys("123")

2、用css的属性定位

    dr.find_element_by_css_selector("input[id='kw']").send_keys("123")

3、css的层级和属性结合定位(父类标签:爸爸>儿子)

    dr.find_element_by_css_selector("span.bg s_ipt_wr quickdelete-wrap>input").send_keys("123")

      css的层级和属性结合定位(爷爷类标签)

    dr.find_element_by_css_selector("form#form>span>input").send_keys("123")

注:元素定位时,如果有id,name直接使用id,name定位,没有id,name属性的元素优先考虑css定位

上一篇下一篇

猜你喜欢

热点阅读