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')
代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM