CSS Selector定位元素

来源:互联网 发布:人力资源办公软件 编辑:程序博客网 时间:2024/05/16 14:58

滴~ 今日打卡!博主之前写过一篇关于XPath元素定位的博客,里面也有提到过XPath方法和CSS选择器方法的比较(http://blog.csdn.net/qq_22770715/article/details/78430418),今天就补上CSS选择器定位笔记。

1.css选择器定位元素:

1)标签选择器:driver.find_element_by_css_selector(“li”)  选择所有li标签元素

2)类选择器:driver.find_element_by_css_selector(“div.menu”)   选择所有classmenudiv元素

                driver.find_element_by_css_selector(“.menu”)   选择所有classmenu的元素

(3)ID选择器:driver.find_element_by_css_selector(“a#menu”)  选中所有idmenua标签元素

                   driver.find_element_by_css_selector(“#menu”)   选择左右IDmenu的元素

(4)关系选择器:driver.find_element_by_css_selector(“div,a”)  选择所有diva元素

                     driver.find_element_by_css_selector(“div>a”)  选中div的直接子元素中的所有a元素

                     driver.find_element_by_css_selector(“div a”)  选择div后代元素中所有a元素

(5)属性选择器:driver.find_element_by_css_selector(“[name]”)  选择所有具有name属性的元素

                     driver.find_element_by_css_selector(“[name=’menu’]”)   选择所有name属性值为menu的元素

                     driver.find_element_by_css_selector(“[name~=’menu’]”)    选中所有name属性值包含menu的元素

                     driver.find_element_by_css_selector(“[name|=’menu’]”)     选择所有name属性值以menu开头的或等于menu的元素

                     driver.find_element_by_css_selector(“[name^=’menu’]”)      选择所有name属性值以menu开头的元素

                     driver.find_element_by_css_selector(“[name$=’menu’]”)       选中所有name属性值以menu结尾的元素

                     driver.find_element_by_css_selector(“div[name=’menu’]”)      选择所有name属性值等于menudiv元素

(6)伪类选择器(因为没怎么使用到,所以没进行总结)

了解了这些,就要找个网页去练一下手,用上这些方法去定位各种元素吧!在定位元素的过程中,发现有些元素可能需要拖动滚动条后才可见,这就要调用js来实现了,下面总结了两个调用js的场景及其调用方法

1. 操作滚动条:window.scrollTo()

(1)纵向滚动:window.scrollTo(0,document.body.scrollHeight)   活动到最下方

window.scrollTo(0,0)滑动到顶部

                   window.scrollTo(0,200)  滑动到200像素处

(2)滚动到指定元素处:

 Js=”arguments[0].scrollIntoView();”   #arguments[0]指第一个传参   

ele = driver.find_element_by_id(“ID”)

Driver.execute_script(js4,ele)

(3)横向滚动:window.scrollTo(document.body.scrollWidth,0)  活动到最右侧

window.scrollTo(0,0) 滑动到最左侧

                   window.scrollTo(200,0)  滑动到200像素处

(4)操作内嵌滚动条:先切换到iframedriver.switch_to.frame(),再执行js

2. 隐藏选中的元素:

1driver.execute.script(‘$(“#tooltip”).fadeOut();’)

2buton=driver.find_element_by_id(“ID”)

     Driver.execute_script(‘$(arguments[0]).fadeOut()’,button)


原创粉丝点击