元素定位-03 重点讲解css

元素定位: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定位

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容