css定位方法

时间:2020-03-26
本文章向大家介绍css定位方法,主要包括css定位方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
css选择器方法(待补充)
css定位快,语法简洁
常用属性css定位:

1、可以通过元素的id、class、标签这三个常规属性直接定位到

2、#代表id driver.find_element_by_css_selector('#kw')
3、.代表class driver.find_element_by_css_selector('.s_ipt')
4、直接使用标签来定位(最好结合其他方法组合定位) driver.find_element_by_css_selector('input')
5、定位name属性 driver.find_element_by_css_selector("[name='wd']")
6、通过type属性定位 driver.find_element_by_css_selector('[type="text"]')
7、可以通过标签与属性组合来定位
  1-通过标签与class属性来定位:driver.find_element_by_css_selector('input.s_ipt')
  2-通过标签与id属性来定位:driver.find_element_by_css_selector('input#kw')
  3-通过标签与其他属性定位:driver.find_element_by_css_selector('input[name="wd"]')
8、通过层级关系定位:driver.find_element_by_css_selector('form#form>span>input')
9、根据索引定位元素:driver.find_element_by_css_selector('div#switch>a:nth-child(2)')
css逻辑运算:
 1、同时匹配多个属性:
 driver.find_element_by_css_selector('input[id="kw"][name="wd"]').send_keys('python')
 driver.find_element_by_css_selector('input[value="百度一下"][type="submit"]').click()

css高级用法:

后代元素:所有具有相同祖先的元素(包括子元素)
子元素:所有具有相同parent的元素(范围小于后代元素)
后代选择器:<S1> <S2> s2是s1的后代元素
子元素选择器:<s1>大于号<s2> S1与s2是父子关系
连续使用:#many>div>p.special 元素之间不存在越级
相邻兄弟元素选择器:
<s1>+<s2>:<s1>与<s2>是同级关系并且紧靠一起 示例:#food + div
非相邻兄弟元素选择器:
使用场景:同一父元素的子元素,元素之间没有紧靠在一起
<s1>~<s2> <s1>与<s2>是同级关系,无需紧靠一起
#food ~ div
属性选择器:
*[属性=”属性值”] *表示任意元素标签名,如p, div,li,button,等等
p[spec*='len2'] #属性spec包含len2的p元素
p[spec^='len2'] #属性spec以len2开头的p
p[spec$='len2'] #属性spec以len2结尾的p
组选择器:
<s1>,<s2> <s1>与<s2>表示两组不同的css选择器
示例: div,span,p 同时选择所有div,span,p元素
伪类nth-child,nth-of-type:
使用场景:根据下标选择子元素,下标从1开始
<s1>:nth-child(n) #从<s1>中选择第n个元素,且<s1>表示的元素必须位于父元素的第n位
<s1>:nth-of-type(n) #从<s1>中选择第n个元素,对<s1>表示的元素处于第几位没有要求
<s1>表示一组选择器

例子:
  
driver.find_element_by_css_selector('#kw').send_keys('python')
driver.find_element_by_css_selector('.s_ipt').send_keys('python')
driver.find_element_by_css_selector('input')
# 通过name 属性来定位
driver.find_element_by_css_selector("[name='wd']").send_keys('python')
# 通过type属性定位
driver.find_element_by_css_selector('[type="text"]').send_keys('python')
# 通过标签与class属性来定位
driver.find_element_by_css_selector('input.s_ipt').send_keys('python')
# 通过标签与id属性来定位
driver.find_element_by_css_selector('input#kw').send_keys('python')
# 通过标签与其他属性来定位
driver.find_element_by_css_selector('input[name="wd"]').send_keys('python')
# css通过层级关系定位
driver.find_element_by_css_selector('form#form>span>input').send_keys('python')
代码

原文地址:https://www.cnblogs.com/aiyumo/p/12576150.html